fix msvc compilation

This commit is contained in:
2018-12-25 16:17:30 +07:00
parent 47d7513937
commit 89a52de8b8

14
ecs.hpp
View File

@@ -50,13 +50,17 @@ namespace ecs_hpp
{ {
namespace detail namespace detail
{ {
template < typename Tag = void > template < typename Void = void >
struct type_family_base { class type_family_base {
static_assert(
std::is_void<Void>::value,
"unexpected internal error");
protected:
static family_id last_id_; static family_id last_id_;
}; };
template < typename T > template < typename T >
class type_family : private type_family_base<> { class type_family : public type_family_base<> {
public: public:
static family_id id() noexcept { static family_id id() noexcept {
static family_id self_id = ++last_id_; static family_id self_id = ++last_id_;
@@ -65,8 +69,8 @@ namespace ecs_hpp
} }
}; };
template < typename Tag > template < typename Void >
family_id type_family_base<Tag>::last_id_{0u}; family_id type_family_base<Void>::last_id_ = 0u;
} }
} }