diff --git a/CMakeLists.txt b/CMakeLists.txt index b4ec1ff70..58d89ac5f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,6 +133,7 @@ if(ENTT_INCLUDE_HEADERS) core/any.hpp core/bit.hpp core/compressed_pair.hpp + core/concepts.hpp core/enum.hpp core/family.hpp core/fwd.hpp diff --git a/src/entt/core/concepts.hpp b/src/entt/core/concepts.hpp new file mode 100644 index 000000000..652a732f8 --- /dev/null +++ b/src/entt/core/concepts.hpp @@ -0,0 +1,17 @@ +#ifndef ENTT_CORE_CONCEPTS_HPP +#define ENTT_CORE_CONCEPTS_HPP + +#include + +namespace entt { + +/** + * @brief Specifies that a type is not a cv-qualified reference. + * @tparam Type Type to check. + */ +template +concept cvref_unqualified = std::is_same_v, Type>; + +} // namespace entt + +#endif diff --git a/src/entt/entt.hpp b/src/entt/entt.hpp index 04e7a7a46..fed8616d6 100644 --- a/src/entt/entt.hpp +++ b/src/entt/entt.hpp @@ -12,6 +12,7 @@ namespace entt {} #include "core/any.hpp" #include "core/bit.hpp" #include "core/compressed_pair.hpp" +#include "core/concepts.hpp" #include "core/enum.hpp" #include "core/family.hpp" #include "core/hashed_string.hpp"