Add missing standard library includes for self-sufficient headers

Fixes builds with newer GCC/libstdc++ that no longer provide <cstdint>,
<cstring>, <cfloat>, <memory>, <algorithm> etc. transitively. Also
disambiguates visit<> calls in taxonomy.h with the full namespace and
casts the character value in IfcCharacterDecoder to uint32_t to silence
ambiguous overload warnings.
This commit is contained in:
Bruno Postle
2026-06-04 22:23:19 +01:00
committed by Thomas Krijnen
parent 6f93357ed2
commit 78697582f7
13 changed files with 40 additions and 9 deletions
+1 -1
View File
@@ -288,7 +288,7 @@ namespace {
if (character >= 0x20 && character <= 0x7e) {
stream.put((char)character);
} else {
stream << "\\u" << character;
stream << "\\u" << static_cast<uint32_t>(character);
}
});
return stream.str();
+1
View File
@@ -35,6 +35,7 @@
#include <iterator>
#include <map>
#include <memory>
#include <cstdint>
#ifdef IFOPSH_WITH_ROCKSDB
+5
View File
@@ -37,6 +37,11 @@
#endif
#include <cstdint>
#include <cstring>
#include <boost/optional.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/logic/tribool.hpp>
#include <boost/dynamic_bitset.hpp>
+2
View File
@@ -30,6 +30,8 @@
#include <utility>
#include <iterator>
#include <cstddef>
#include <cstdint>
#include <cstring>
template <typename T>
struct is_std_tuple : std::false_type {};
+2
View File
@@ -26,8 +26,10 @@
#include <algorithm>
#include <boost/algorithm/string.hpp>
#include <cctype>
#include <cstdint>
#include <iterator>
#include <map>
#include <memory>
#include <string>
#include <vector>
#include <optional>
+1
View File
@@ -33,6 +33,7 @@ namespace rocksdb {
#include <iterator>
#include <map>
#include <memory>
#include <cstring>
#include <type_traits>
#include <iostream>
#include <deque>
+4
View File
@@ -33,6 +33,10 @@ variant - which is the maximum size of its constituents - is reduced.
#include <utility>
#include <memory>
#include <tuple>
#include <cstdint>
#include <cstring>
#include <cstddef>
#include <limits>
#include "exception.h"