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 Fix std::isnan and friends for gcc2. 2014-11-27 10:58:49 +01:00
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 Add the at() method to C++ vectors. 2014-10-26 20:28:21 +01:00
stl.h
stream.h
streambuf.h
strfile.h
string
strstream
strstream.h
tempbuf.h
tree.h
type_traits.h
utility
valarray
vector
vector.h