haiku/headers/cpp
PulkoMandy 899e0ef82b 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>
2023-07-10 06:27:18 +00:00
..
std userlandfs: use std::bitset for FSCapabilities 2023-07-10 06:27:18 +00:00
algo.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
algobase.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
algorithm - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
alloc.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
bitset - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
builtinbuf.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
bvector.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cassert - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cctype - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cerrno - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cfloat - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
ciso646 - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
climits - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
clocale - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cmath Fix std::isnan and friends for gcc2. 2014-11-27 10:58:49 +01:00
complex - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
complex.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
csetjmp - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
csignal - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cstdarg - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cstddef GCC 4 fix. 2005-12-11 16:22:51 +00:00
cstdio - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cstdlib - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cstring - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
ctime - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cwchar - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
cwctype - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
defalloc.h Preparations for removing __BEOS__ from the compiler defines. 2008-10-23 21:46:26 +00:00
deque - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
deque.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
editbuf.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
floatio.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
fstream - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
fstream.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
function.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
functional - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
hash_map - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
hash_map.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
hash_set - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
hash_set.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
hashtable.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
heap.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
indstream.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
iomanip - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
iomanip.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
iosfwd - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
iostdio.h Synced the different definitions of BUFSIZ with the internal one. What a mess... 2009-07-26 15:28:33 +00:00
iostream - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
iostream.h userlandfs: use std::bitset for FSCapabilities 2023-07-10 06:27:18 +00:00
istream.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
iterator - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
iterator.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
limits Add a <limits> header for gcc2. 2014-11-27 12:14:39 +01:00
list - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
list.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
map - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
map.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
memory - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
multimap.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
multiset.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
numeric - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
ostream.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
pair.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
parsestream.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
pfstream.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
PlotFile.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
procbuf.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
pthread_alloc - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
pthread_alloc.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
queue - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
rope - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
rope.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
ropeimpl.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
set - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
set.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
SFile.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
slist - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
slist.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
sstream [the first commit of this fix was applied to the 32bit-wchar_t-branch instead 2009-06-26 21:54:46 +00:00
stack - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stack.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stdexcept - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stdiostream.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_algo.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_algobase.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_alloc.h * Removed hack used by BeOS to trick stl allocator into using malloc/free for 2009-07-16 21:27:21 +00:00
stl_bvector.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_config.h * Removed hack used by BeOS to trick stl allocator into using malloc/free for 2009-07-16 21:27:21 +00:00
stl_construct.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_deque.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_function.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_hash_fun.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_hash_map.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_hash_set.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_hashtable.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_heap.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_iterator.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_list.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_map.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_multimap.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_multiset.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_numeric.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_pair.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_queue.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_raw_storage_iter.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_relops.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_rope.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_set.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_slist.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_stack.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_tempbuf.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_tree.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_uninitialized.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stl_vector.h Add the at() method to C++ vectors. 2014-10-26 20:28:21 +01:00
stl.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
stream.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
streambuf.h * Turns out that the "upper" half of the old (gcc2) libio - the C++ classes - 2009-07-08 16:31:01 +00:00
strfile.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
string Since wchar support now works, the wstring typedef should now also be safe. 2009-07-29 14:09:43 +00:00
strstream - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
strstream.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
tempbuf.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
tree.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
type_traits.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
utility - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
valarray - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
vector - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00
vector.h - added implementation of stdc++ for haiku 2004-11-10 20:33:33 +00:00