fix clang/gcc compilation issues

This commit is contained in:
BlackMATov
2024-02-05 02:36:25 +07:00
parent 096439b605
commit f1372d6eb0
2 changed files with 8 additions and 36 deletions

View File

@@ -6371,7 +6371,7 @@ namespace meta_hpp::detail
namespace meta_hpp::detail
{
template < typename T >
template < typename >
struct shared_type_name;
template < type_kind, typename... >
@@ -6434,24 +6434,10 @@ namespace meta_hpp::detail
}
};
template < type_kind Kind, shared_type_kind Type >
struct shared_type_data_hash<Kind, Type> {
template < type_kind Kind, shared_type_kind... Types >
struct shared_type_data_hash<Kind, Types...> {
[[nodiscard]] std::size_t operator()(const void*) const noexcept {
return shared_type_hash<Kind, Type>{}();
}
};
template < shared_type_kind Class, shared_type_kind... Args >
struct shared_type_data_hash<type_kind::constructor_, Class, Args...> {
[[nodiscard]] std::size_t operator()(const void*) const noexcept {
return shared_type_hash<type_kind::constructor_, Class, Args...>{}();
}
};
template < shared_type_kind Class >
struct shared_type_data_hash<type_kind::destructor_, Class> {
[[nodiscard]] std::size_t operator()(const void*) const noexcept {
return shared_type_hash<type_kind::destructor_, Class>{}();
return shared_type_hash<Kind, Types...>{}();
}
};
}

View File

@@ -22,7 +22,7 @@
namespace meta_hpp::detail
{
template < typename T >
template < typename >
struct shared_type_name;
template < type_kind, typename... >
@@ -85,24 +85,10 @@ namespace meta_hpp::detail
}
};
template < type_kind Kind, shared_type_kind Type >
struct shared_type_data_hash<Kind, Type> {
template < type_kind Kind, shared_type_kind... Types >
struct shared_type_data_hash<Kind, Types...> {
[[nodiscard]] std::size_t operator()(const void*) const noexcept {
return shared_type_hash<Kind, Type>{}();
}
};
template < shared_type_kind Class, shared_type_kind... Args >
struct shared_type_data_hash<type_kind::constructor_, Class, Args...> {
[[nodiscard]] std::size_t operator()(const void*) const noexcept {
return shared_type_hash<type_kind::constructor_, Class, Args...>{}();
}
};
template < shared_type_kind Class >
struct shared_type_data_hash<type_kind::destructor_, Class> {
[[nodiscard]] std::size_t operator()(const void*) const noexcept {
return shared_type_hash<type_kind::destructor_, Class>{}();
return shared_type_hash<Kind, Types...>{}();
}
};
}