diff --git a/CMakeLists.txt b/CMakeLists.txt index 51d636f39..bc15ccadd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -200,6 +200,7 @@ if(ENTT_INCLUDE_HEADERS) stl/iterator.hpp stl/memory.hpp stl/tuple.hpp + stl/type_traits.hpp stl/vector.hpp tools/davey.hpp entt.hpp diff --git a/src/entt/container/dense_map.hpp b/src/entt/container/dense_map.hpp index 153620072..9017d5980 100644 --- a/src/entt/container/dense_map.hpp +++ b/src/entt/container/dense_map.hpp @@ -9,7 +9,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/bit.hpp" @@ -19,6 +18,7 @@ #include "../core/type_traits.hpp" #include "../stl/iterator.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "fwd.hpp" diff --git a/src/entt/container/dense_set.hpp b/src/entt/container/dense_set.hpp index adb20c4c5..e6902e536 100644 --- a/src/entt/container/dense_set.hpp +++ b/src/entt/container/dense_set.hpp @@ -9,7 +9,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/bit.hpp" @@ -17,6 +16,7 @@ #include "../core/type_traits.hpp" #include "../stl/iterator.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "fwd.hpp" diff --git a/src/entt/core/any.hpp b/src/entt/core/any.hpp index 13372ad93..4a2ca44ad 100644 --- a/src/entt/core/any.hpp +++ b/src/entt/core/any.hpp @@ -4,10 +4,10 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/concepts.hpp" +#include "../stl/type_traits.hpp" #include "fwd.hpp" #include "type_info.hpp" #include "type_traits.hpp" diff --git a/src/entt/core/compressed_pair.hpp b/src/entt/core/compressed_pair.hpp index 1af276997..0f4ad59a5 100644 --- a/src/entt/core/compressed_pair.hpp +++ b/src/entt/core/compressed_pair.hpp @@ -3,9 +3,9 @@ #include #include -#include #include #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "fwd.hpp" #include "type_traits.hpp" diff --git a/src/entt/core/concepts.hpp b/src/entt/core/concepts.hpp index 652a732f8..17eb6cf8b 100644 --- a/src/entt/core/concepts.hpp +++ b/src/entt/core/concepts.hpp @@ -1,7 +1,7 @@ #ifndef ENTT_CORE_CONCEPTS_HPP #define ENTT_CORE_CONCEPTS_HPP -#include +#include "../stl/type_traits.hpp" namespace entt { diff --git a/src/entt/core/enum.hpp b/src/entt/core/enum.hpp index 9d498cdc1..74acb7e8c 100644 --- a/src/entt/core/enum.hpp +++ b/src/entt/core/enum.hpp @@ -2,7 +2,7 @@ #define ENTT_CORE_ENUM_HPP #include -#include +#include "../stl/type_traits.hpp" namespace entt { diff --git a/src/entt/core/ident.hpp b/src/entt/core/ident.hpp index 18592e00e..2552f5247 100644 --- a/src/entt/core/ident.hpp +++ b/src/entt/core/ident.hpp @@ -2,8 +2,8 @@ #define ENTT_CORE_IDENT_HPP #include -#include #include +#include "../stl/type_traits.hpp" #include "fwd.hpp" #include "type_traits.hpp" diff --git a/src/entt/core/iterator.hpp b/src/entt/core/iterator.hpp index a18e6a259..1cb738830 100644 --- a/src/entt/core/iterator.hpp +++ b/src/entt/core/iterator.hpp @@ -3,9 +3,9 @@ #include #include -#include #include #include "../stl/iterator.hpp" +#include "../stl/type_traits.hpp" namespace entt { diff --git a/src/entt/core/memory.hpp b/src/entt/core/memory.hpp index 36c3fc75c..92f575e51 100644 --- a/src/entt/core/memory.hpp +++ b/src/entt/core/memory.hpp @@ -3,11 +3,11 @@ #include #include -#include #include #include "../config/config.h" #include "../stl/memory.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" namespace entt { diff --git a/src/entt/core/tuple.hpp b/src/entt/core/tuple.hpp index fac7b1eab..729e5ccba 100644 --- a/src/entt/core/tuple.hpp +++ b/src/entt/core/tuple.hpp @@ -1,9 +1,9 @@ #ifndef ENTT_CORE_TUPLE_HPP #define ENTT_CORE_TUPLE_HPP -#include #include #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" namespace entt { diff --git a/src/entt/core/type_info.hpp b/src/entt/core/type_info.hpp index 3b117379d..8546652d6 100644 --- a/src/entt/core/type_info.hpp +++ b/src/entt/core/type_info.hpp @@ -3,9 +3,9 @@ #include #include -#include #include #include "../config/config.h" +#include "../stl/type_traits.hpp" #include "fwd.hpp" #include "hashed_string.hpp" diff --git a/src/entt/core/type_traits.hpp b/src/entt/core/type_traits.hpp index 11a0044bf..e5d3509aa 100644 --- a/src/entt/core/type_traits.hpp +++ b/src/entt/core/type_traits.hpp @@ -3,11 +3,11 @@ #include #include -#include #include #include "../config/config.h" #include "../stl/iterator.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "fwd.hpp" namespace entt { diff --git a/src/entt/core/utility.hpp b/src/entt/core/utility.hpp index 3ee6bfca6..4efd62626 100644 --- a/src/entt/core/utility.hpp +++ b/src/entt/core/utility.hpp @@ -1,8 +1,8 @@ #ifndef ENTT_CORE_UTILITY_HPP #define ENTT_CORE_UTILITY_HPP -#include #include +#include "../stl/type_traits.hpp" namespace entt { diff --git a/src/entt/entity/component.hpp b/src/entt/entity/component.hpp index 4eb639cf7..f6922c2b0 100644 --- a/src/entt/entity/component.hpp +++ b/src/entt/entity/component.hpp @@ -3,9 +3,9 @@ #include #include -#include #include "../config/config.h" #include "../core/concepts.hpp" +#include "../stl/type_traits.hpp" #include "fwd.hpp" namespace entt { diff --git a/src/entt/entity/entity.hpp b/src/entt/entity/entity.hpp index 7123b780f..201c3b28f 100644 --- a/src/entt/entity/entity.hpp +++ b/src/entt/entity/entity.hpp @@ -5,9 +5,9 @@ #include #include #include -#include #include "../config/config.h" #include "../core/bit.hpp" +#include "../stl/type_traits.hpp" #include "fwd.hpp" namespace entt { diff --git a/src/entt/entity/fwd.hpp b/src/entt/entity/fwd.hpp index 54c43ba8e..547b7fe31 100644 --- a/src/entt/entity/fwd.hpp +++ b/src/entt/entity/fwd.hpp @@ -3,11 +3,11 @@ #include #include -#include #include "../config/config.h" #include "../core/concepts.hpp" #include "../core/fwd.hpp" #include "../core/type_traits.hpp" +#include "../stl/type_traits.hpp" namespace entt { diff --git a/src/entt/entity/group.hpp b/src/entt/entity/group.hpp index ddfabb0e4..18d0d663e 100644 --- a/src/entt/entity/group.hpp +++ b/src/entt/entity/group.hpp @@ -4,7 +4,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/algorithm.hpp" @@ -14,6 +13,7 @@ #include "../core/type_traits.hpp" #include "../stl/iterator.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "entity.hpp" #include "fwd.hpp" diff --git a/src/entt/entity/handle.hpp b/src/entt/entity/handle.hpp index c3c04baaa..73f37e7d6 100644 --- a/src/entt/entity/handle.hpp +++ b/src/entt/entity/handle.hpp @@ -1,13 +1,13 @@ #ifndef ENTT_ENTITY_HANDLE_HPP #define ENTT_ENTITY_HANDLE_HPP -#include #include #include "../config/config.h" #include "../core/iterator.hpp" #include "../core/type_traits.hpp" #include "../stl/iterator.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "entity.hpp" #include "fwd.hpp" diff --git a/src/entt/entity/helper.hpp b/src/entt/entity/helper.hpp index 1cb5f0772..25716e590 100644 --- a/src/entt/entity/helper.hpp +++ b/src/entt/entity/helper.hpp @@ -2,10 +2,10 @@ #define ENTT_ENTITY_HELPER_HPP #include -#include #include #include "../core/fwd.hpp" #include "../core/type_traits.hpp" +#include "../stl/type_traits.hpp" #include "component.hpp" #include "fwd.hpp" #include "group.hpp" diff --git a/src/entt/entity/mixin.hpp b/src/entt/entity/mixin.hpp index 815e8ad60..d8b588c72 100644 --- a/src/entt/entity/mixin.hpp +++ b/src/entt/entity/mixin.hpp @@ -2,13 +2,13 @@ #define ENTT_ENTITY_MIXIN_HPP #include -#include #include #include "../config/config.h" #include "../core/any.hpp" #include "../core/type_info.hpp" #include "../signal/sigh.hpp" #include "../stl/iterator.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "entity.hpp" #include "fwd.hpp" diff --git a/src/entt/entity/organizer.hpp b/src/entt/entity/organizer.hpp index 8e204b12a..02b4a3ccb 100644 --- a/src/entt/entity/organizer.hpp +++ b/src/entt/entity/organizer.hpp @@ -2,13 +2,13 @@ #define ENTT_ENTITY_ORGANIZER_HPP #include -#include #include #include "../core/type_info.hpp" #include "../core/type_traits.hpp" #include "../core/utility.hpp" #include "../graph/adjacency_matrix.hpp" #include "../graph/flow.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "fwd.hpp" #include "helper.hpp" diff --git a/src/entt/entity/registry.hpp b/src/entt/entity/registry.hpp index e1e24840b..e7dc7fb11 100644 --- a/src/entt/entity/registry.hpp +++ b/src/entt/entity/registry.hpp @@ -8,7 +8,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../container/dense_map.hpp" @@ -23,6 +22,7 @@ #include "../stl/functional.hpp" #include "../stl/iterator.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "entity.hpp" #include "fwd.hpp" #include "group.hpp" diff --git a/src/entt/entity/snapshot.hpp b/src/entt/entity/snapshot.hpp index 2ab17cb64..1130ab8d6 100644 --- a/src/entt/entity/snapshot.hpp +++ b/src/entt/entity/snapshot.hpp @@ -3,13 +3,13 @@ #include #include -#include #include #include "../config/config.h" #include "../container/dense_map.hpp" #include "../core/type_traits.hpp" #include "../stl/iterator.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "entity.hpp" #include "fwd.hpp" #include "view.hpp" diff --git a/src/entt/entity/sparse_set.hpp b/src/entt/entity/sparse_set.hpp index 256c32287..3a074ffb1 100644 --- a/src/entt/entity/sparse_set.hpp +++ b/src/entt/entity/sparse_set.hpp @@ -5,7 +5,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/algorithm.hpp" @@ -13,6 +12,7 @@ #include "../core/bit.hpp" #include "../core/type_info.hpp" #include "../stl/iterator.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "entity.hpp" #include "fwd.hpp" diff --git a/src/entt/entity/storage.hpp b/src/entt/entity/storage.hpp index 83eeadbb9..53779c38c 100644 --- a/src/entt/entity/storage.hpp +++ b/src/entt/entity/storage.hpp @@ -5,7 +5,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/bit.hpp" @@ -15,6 +14,7 @@ #include "../stl/iterator.hpp" #include "../stl/memory.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "component.hpp" #include "entity.hpp" diff --git a/src/entt/entity/view.hpp b/src/entt/entity/view.hpp index b2ac3439a..f79838092 100644 --- a/src/entt/entity/view.hpp +++ b/src/entt/entity/view.hpp @@ -4,7 +4,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/concepts.hpp" @@ -12,6 +11,7 @@ #include "../core/type_traits.hpp" #include "../stl/iterator.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "entity.hpp" #include "fwd.hpp" diff --git a/src/entt/entt.hpp b/src/entt/entt.hpp index 6dd857a3f..b888dfd02 100644 --- a/src/entt/entt.hpp +++ b/src/entt/entt.hpp @@ -74,5 +74,6 @@ namespace entt::stl {} #include "stl/iterator.hpp" #include "stl/memory.hpp" #include "stl/tuple.hpp" +#include "stl/type_traits.hpp" #include "stl/vector.hpp" // IWYU pragma: end_exports diff --git a/src/entt/graph/adjacency_matrix.hpp b/src/entt/graph/adjacency_matrix.hpp index 505a81e9a..5ad6c1b29 100644 --- a/src/entt/graph/adjacency_matrix.hpp +++ b/src/entt/graph/adjacency_matrix.hpp @@ -4,11 +4,11 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/iterator.hpp" #include "../stl/iterator.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "fwd.hpp" diff --git a/src/entt/graph/flow.hpp b/src/entt/graph/flow.hpp index 2b6371a16..9151b8154 100644 --- a/src/entt/graph/flow.hpp +++ b/src/entt/graph/flow.hpp @@ -6,7 +6,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../container/dense_map.hpp" @@ -16,6 +15,7 @@ #include "../core/iterator.hpp" #include "../stl/functional.hpp" #include "../stl/iterator.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "adjacency_matrix.hpp" #include "fwd.hpp" diff --git a/src/entt/meta/container.hpp b/src/entt/meta/container.hpp index 61c4070da..4f4a7b191 100644 --- a/src/entt/meta/container.hpp +++ b/src/entt/meta/container.hpp @@ -5,11 +5,11 @@ #include #include -#include #include #include "../core/concepts.hpp" #include "../core/type_traits.hpp" #include "../stl/iterator.hpp" +#include "../stl/type_traits.hpp" #include "context.hpp" #include "fwd.hpp" #include "meta.hpp" diff --git a/src/entt/meta/factory.hpp b/src/entt/meta/factory.hpp index 204b696f3..755a81c23 100644 --- a/src/entt/meta/factory.hpp +++ b/src/entt/meta/factory.hpp @@ -6,7 +6,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/bit.hpp" @@ -15,6 +14,7 @@ #include "../core/type_info.hpp" #include "../core/type_traits.hpp" #include "../locator/locator.hpp" +#include "../stl/type_traits.hpp" #include "context.hpp" #include "fwd.hpp" #include "meta.hpp" diff --git a/src/entt/meta/meta.hpp b/src/entt/meta/meta.hpp index 65a585994..2d21460bd 100644 --- a/src/entt/meta/meta.hpp +++ b/src/entt/meta/meta.hpp @@ -6,7 +6,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/any.hpp" @@ -18,6 +17,7 @@ #include "../core/utility.hpp" #include "../locator/locator.hpp" #include "../stl/iterator.hpp" +#include "../stl/type_traits.hpp" #include "adl_pointer.hpp" #include "context.hpp" #include "fwd.hpp" diff --git a/src/entt/meta/node.hpp b/src/entt/meta/node.hpp index b9cecfb4e..75365d18f 100644 --- a/src/entt/meta/node.hpp +++ b/src/entt/meta/node.hpp @@ -5,7 +5,6 @@ #include #include #include -#include #include #include "../config/config.h" #include "../core/bit.hpp" @@ -15,6 +14,7 @@ #include "../core/type_info.hpp" #include "../core/type_traits.hpp" #include "../core/utility.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "context.hpp" #include "fwd.hpp" diff --git a/src/entt/meta/pointer.hpp b/src/entt/meta/pointer.hpp index 68164950f..ee2ad286f 100644 --- a/src/entt/meta/pointer.hpp +++ b/src/entt/meta/pointer.hpp @@ -4,7 +4,7 @@ #define ENTT_META_POINTER_HPP #include -#include +#include "../stl/type_traits.hpp" #include "type_traits.hpp" namespace entt { diff --git a/src/entt/meta/policy.hpp b/src/entt/meta/policy.hpp index cbefa3074..b657a42d3 100644 --- a/src/entt/meta/policy.hpp +++ b/src/entt/meta/policy.hpp @@ -1,7 +1,7 @@ #ifndef ENTT_META_POLICY_HPP #define ENTT_META_POLICY_HPP -#include +#include "../stl/type_traits.hpp" namespace entt { diff --git a/src/entt/meta/resolve.hpp b/src/entt/meta/resolve.hpp index b1e46a698..d39ac66d0 100644 --- a/src/entt/meta/resolve.hpp +++ b/src/entt/meta/resolve.hpp @@ -1,9 +1,9 @@ #ifndef ENTT_META_RESOLVE_HPP #define ENTT_META_RESOLVE_HPP -#include #include "../core/type_info.hpp" #include "../locator/locator.hpp" +#include "../stl/type_traits.hpp" #include "context.hpp" #include "meta.hpp" #include "node.hpp" diff --git a/src/entt/meta/type_traits.hpp b/src/entt/meta/type_traits.hpp index 9ba167f55..f65acfc3a 100644 --- a/src/entt/meta/type_traits.hpp +++ b/src/entt/meta/type_traits.hpp @@ -1,8 +1,8 @@ #ifndef ENTT_META_TYPE_TRAITS_HPP #define ENTT_META_TYPE_TRAITS_HPP -#include #include +#include "../stl/type_traits.hpp" namespace entt { diff --git a/src/entt/meta/utility.hpp b/src/entt/meta/utility.hpp index 1995fae32..06160dfeb 100644 --- a/src/entt/meta/utility.hpp +++ b/src/entt/meta/utility.hpp @@ -3,10 +3,10 @@ #include #include -#include #include #include "../core/type_traits.hpp" #include "../locator/locator.hpp" +#include "../stl/type_traits.hpp" #include "meta.hpp" #include "node.hpp" #include "policy.hpp" diff --git a/src/entt/poly/poly.hpp b/src/entt/poly/poly.hpp index 58b249c45..719e350e1 100644 --- a/src/entt/poly/poly.hpp +++ b/src/entt/poly/poly.hpp @@ -4,13 +4,13 @@ #include #include #include -#include #include #include "../core/any.hpp" #include "../core/concepts.hpp" #include "../core/type_info.hpp" #include "../core/type_traits.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "fwd.hpp" namespace entt { diff --git a/src/entt/process/process.hpp b/src/entt/process/process.hpp index 35b7accbf..d9e38cce5 100644 --- a/src/entt/process/process.hpp +++ b/src/entt/process/process.hpp @@ -3,10 +3,10 @@ #include #include -#include #include #include "../core/compressed_pair.hpp" #include "../core/type_traits.hpp" +#include "../stl/type_traits.hpp" #include "fwd.hpp" namespace entt { diff --git a/src/entt/process/scheduler.hpp b/src/entt/process/scheduler.hpp index a4ceffe56..12d94872d 100644 --- a/src/entt/process/scheduler.hpp +++ b/src/entt/process/scheduler.hpp @@ -3,10 +3,10 @@ #include #include -#include #include #include "../config/config.h" #include "../core/compressed_pair.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "fwd.hpp" #include "process.hpp" diff --git a/src/entt/resource/cache.hpp b/src/entt/resource/cache.hpp index 96b8be8ae..168e3817f 100644 --- a/src/entt/resource/cache.hpp +++ b/src/entt/resource/cache.hpp @@ -6,7 +6,6 @@ #include #include #include -#include #include #include "../container/dense_map.hpp" #include "../core/compressed_pair.hpp" @@ -15,6 +14,7 @@ #include "../stl/functional.hpp" #include "../stl/iterator.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "fwd.hpp" #include "loader.hpp" #include "resource.hpp" diff --git a/src/entt/signal/delegate.hpp b/src/entt/signal/delegate.hpp index 846d6a87d..c9c8838e8 100644 --- a/src/entt/signal/delegate.hpp +++ b/src/entt/signal/delegate.hpp @@ -3,11 +3,11 @@ #include #include -#include #include #include "../config/config.h" #include "../core/type_traits.hpp" #include "../stl/tuple.hpp" +#include "../stl/type_traits.hpp" #include "fwd.hpp" namespace entt { diff --git a/src/entt/signal/dispatcher.hpp b/src/entt/signal/dispatcher.hpp index d762f745f..56a1b59d5 100644 --- a/src/entt/signal/dispatcher.hpp +++ b/src/entt/signal/dispatcher.hpp @@ -4,7 +4,6 @@ #include #include #include -#include #include #include "../container/dense_map.hpp" #include "../core/compressed_pair.hpp" @@ -12,6 +11,7 @@ #include "../core/fwd.hpp" #include "../core/type_info.hpp" #include "../stl/functional.hpp" +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "fwd.hpp" #include "sigh.hpp" diff --git a/src/entt/signal/emitter.hpp b/src/entt/signal/emitter.hpp index 75369376a..d7a2a85d1 100644 --- a/src/entt/signal/emitter.hpp +++ b/src/entt/signal/emitter.hpp @@ -2,13 +2,13 @@ #define ENTT_SIGNAL_EMITTER_HPP #include -#include #include #include "../container/dense_map.hpp" #include "../core/compressed_pair.hpp" #include "../core/fwd.hpp" #include "../core/type_info.hpp" #include "../stl/functional.hpp" +#include "../stl/type_traits.hpp" #include "fwd.hpp" namespace entt { diff --git a/src/entt/signal/sigh.hpp b/src/entt/signal/sigh.hpp index a70f0225d..30a0c9bf9 100644 --- a/src/entt/signal/sigh.hpp +++ b/src/entt/signal/sigh.hpp @@ -3,8 +3,8 @@ #include #include -#include #include +#include "../stl/type_traits.hpp" #include "../stl/vector.hpp" #include "delegate.hpp" #include "fwd.hpp" diff --git a/src/entt/stl/type_traits.hpp b/src/entt/stl/type_traits.hpp new file mode 100644 index 000000000..b81dabd77 --- /dev/null +++ b/src/entt/stl/type_traits.hpp @@ -0,0 +1,12 @@ +#ifndef ENTT_STL_TYPE_TRAITS_HPP +#define ENTT_STL_TYPE_TRAITS_HPP + +#include + +/*! @cond ENTT_INTERNAL */ +namespace entt::stl { + +} // namespace entt::stl +/*! @endcond */ + +#endif