|
@@ -73,12 +73,10 @@ concept entity_like = requires {
|
|
|
* @tparam Traits Actual entity traits to use.
|
|
* @tparam Traits Actual entity traits to use.
|
|
|
*/
|
|
*/
|
|
|
template<typename Traits>
|
|
template<typename Traits>
|
|
|
|
|
+requires ((Traits::entity_mask & (Traits::entity_mask + 1)) == 0) && ((Traits::version_mask & (Traits::version_mask + 1)) == 0)
|
|
|
class basic_entt_traits {
|
|
class basic_entt_traits {
|
|
|
static constexpr auto length = stl::popcount(Traits::entity_mask);
|
|
static constexpr auto length = stl::popcount(Traits::entity_mask);
|
|
|
|
|
|
|
|
- static_assert(Traits::entity_mask && ((Traits::entity_mask & (Traits::entity_mask + 1)) == 0), "Invalid entity mask");
|
|
|
|
|
- static_assert((Traits::version_mask & (Traits::version_mask + 1)) == 0, "Invalid version mask");
|
|
|
|
|
-
|
|
|
|
|
public:
|
|
public:
|
|
|
/*! @brief Value type. */
|
|
/*! @brief Value type. */
|
|
|
using value_type = Traits::value_type;
|
|
using value_type = Traits::value_type;
|