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
algobase.h
algorithm
alloc.h
bitset
builtinbuf.h
bvector.h
cassert
cctype
cerrno
cfloat
ciso646
climits
clocale
cmath
complex
complex.h
csetjmp
csignal
cstdarg
cstddef
cstdio
cstdlib
cstring
ctime
cwchar
cwctype
defalloc.h
deque
deque.h
editbuf.h
floatio.h
fstream
fstream.h
function.h
functional
hash_map
hash_map.h
hash_set
hash_set.h
hashtable.h
heap.h
indstream.h
iomanip
iomanip.h
iosfwd
iostdio.h
iostream
iostream.h userlandfs: use std::bitset for FSCapabilities 2023-07-10 06:27:18 +00:00
istream.h
iterator
iterator.h
limits Add a <limits> header for gcc2. 2014-11-27 12:14:39 +01:00
list
list.h
map
map.h
memory
multimap.h
multiset.h
numeric
ostream.h
pair.h
parsestream.h
pfstream.h
PlotFile.h
procbuf.h
pthread_alloc
pthread_alloc.h
queue
rope
rope.h
ropeimpl.h
set
set.h
SFile.h
slist
slist.h
sstream
stack
stack.h
stdexcept
stdiostream.h
stl_algo.h
stl_algobase.h
stl_alloc.h
stl_bvector.h
stl_config.h
stl_construct.h
stl_deque.h
stl_function.h
stl_hash_fun.h
stl_hash_map.h
stl_hash_set.h
stl_hashtable.h
stl_heap.h
stl_iterator.h
stl_list.h
stl_map.h
stl_multimap.h
stl_multiset.h
stl_numeric.h
stl_pair.h
stl_queue.h
stl_raw_storage_iter.h
stl_relops.h
stl_rope.h
stl_set.h
stl_slist.h
stl_stack.h
stl_tempbuf.h
stl_tree.h
stl_uninitialized.h
stl_vector.h
stl.h
stream.h
streambuf.h
strfile.h
string
strstream
strstream.h
tempbuf.h
tree.h
type_traits.h
utility
valarray
vector
vector.h