#include #include struct A {}; struct B {}; TEST(Identifier, Uniqueness) { constexpr auto ID = entt::ident; constexpr A a; constexpr B b; ASSERT_NE(ID.get(), ID.get()); ASSERT_EQ(ID.get(), ID.get()); ASSERT_NE(ID.get(), ID.get()); ASSERT_EQ(ID.get(), ID.get()); ASSERT_EQ(ID.get(), ID.get()); // test uses in constant expressions switch(ID.get()) { case ID.get(): FAIL(); break; case ID.get(): SUCCEED(); } }