History log of /haiku/headers/cpp/std/bastring.h
Revision Date Author Comments
# 899e0ef8 01-Jul-2023 PulkoMandy <pulkomandy@pulkomandy.tk>

userlandfs: use std::bitset for FSCapabilities

gcc 13 is confused by the custom bitset implementation, so use the C++
standard one instead.

However, this results in including the C++ <string> header in kernel
code. This doesn't work for gcc2, because of two problems:

- That header includes a declaration of atomic_add that doesn't match
the one in SupportsDefs.h (which can in some cases replace the function
with a #define for an inline version). Adjust the header to use the
be a problem because it creates a risk of circular inclusions.
Standard C++ headers shouldn't depend on BeAPI ones.
- It also leads to the inclusion of iostream which defined lock and
unlock functions in the global namespace. We don't want these, and they
are not part of the C++ standard, so just remove them.

Ideally we could use std::hash for the GetHashCode implementation, but
that doesn't work because it depends on an helper function that's in
libstdc++, and we can't link that from kernel add-ons.

Change-Id: Iee07280beb4dddf7a9b6160e37f3b816e4de89ae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6663
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 691e517b 12-Nov-2015 Adrien Destugues <pulkomandy@pulkomandy.tk>

build fix.

* can't use min here, this header is not supposed to #include
<algorithm>.


# 4e3137c0 12-Nov-2015 Adrien Destugues <pulkomandy@pulkomandy.tk>

Add another missing string::compare method

* Makes our gcc2 slightly more C++98 compliant...


# e1caa56b 17-Jan-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Add another mssing string::compare prototype.

Matches buildtools change 8b70c20ed25f905e7e217376c9e2f65a8dee6729.


# 73ad2473 05-Nov-2013 Pawel Dziepak <pdziepak@quarnos.org>

Remove remaining unnecessary 'volatile' qualifiers


# 100db087 27-Oct-2012 Adrien Destugues - PulkoMandy <pulkomandy@pulkomandy.tk>

Allow use of c_str() on wstring.


# 837b1625 31-Oct-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Fix #7948: add correct prototype for String::compare alongside the wrong one
for BeOS compatibility.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43023 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 481f986b 05-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Added missing clear() method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37924 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2222d055 24-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
abstraction by defining types and macros that allow the posix/ and os/
headers to be mostly architecture/compiler agnostic.
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bc3955fe 23-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Preparations for removing __BEOS__ from the compiler defines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28305 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f2ced752 10-Nov-2004 Oliver Tappe <zooey@hirschkaefer.de>

- added implementation of stdc++ for haiku
- this differs slightly from the one that lives in buildtools/gcc as it
has been "ported" to the newer libio that haiku uses as part of its own
libroot


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9906 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e1caa56b1e49e83f71ba7998969efbf3bcdbf5dc 17-Jan-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Add another mssing string::compare prototype.

Matches buildtools change 8b70c20ed25f905e7e217376c9e2f65a8dee6729.


# 73ad2473e7874b3702cf5b0fdf4c81b747812ed9 05-Nov-2013 Pawel Dziepak <pdziepak@quarnos.org>

Remove remaining unnecessary 'volatile' qualifiers


# 100db087dc8349bff39657e168e8def2e15221b1 27-Oct-2012 Adrien Destugues - PulkoMandy <pulkomandy@pulkomandy.tk>

Allow use of c_str() on wstring.


# 837b16251d4b2b6249ebcaa19bb319cbe82c6126 31-Oct-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Fix #7948: add correct prototype for String::compare alongside the wrong one
for BeOS compatibility.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43023 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 481f986b59e7782458dcc5fe98ad59a57480e5db 05-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Added missing clear() method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37924 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2222d0559df303a9846a2fad53741f8b20b14d7c 24-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
abstraction by defining types and macros that allow the posix/ and os/
headers to be mostly architecture/compiler agnostic.
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bc3955fea5b07e2e94a27fc05e4bb58fe6f0319b 23-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Preparations for removing __BEOS__ from the compiler defines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28305 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f2ced752a08ff5d2618826bcd3ae3976c9f3e92e 10-Nov-2004 Oliver Tappe <zooey@hirschkaefer.de>

- added implementation of stdc++ for haiku
- this differs slightly from the one that lives in buildtools/gcc as it
has been "ported" to the newer libio that haiku uses as part of its own
libroot


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9906 a95241bf-73f2-0310-859d-f6bbb57e9c96