From cb3f364d0cf1e16bd94b5f29eff61b8de7401034 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 9 Apr 2023 14:29:37 +0200 Subject: entities: fix error on duplicate field accessor types --- entity/metadata.hpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'entity') diff --git a/entity/metadata.hpp b/entity/metadata.hpp index 8b1717b8..2bb8d346 100644 --- a/entity/metadata.hpp +++ b/entity/metadata.hpp @@ -250,19 +250,22 @@ namespace floormat { template class entity_metadata final { static_assert(std::is_same_v>); - template static consteval auto erased_helper(const std::tuple& tuple); + + template + static consteval auto erased_helper(const Tuple& tuple, std::index_sequence); + public: static constexpr StringView class_name = name_of; static constexpr auto accessors = entities::entity_accessors::accessors(); static constexpr size_t size = std::tuple_size_v>; - static constexpr auto erased_accessors = erased_helper(accessors); + static constexpr auto erased_accessors = erased_helper(accessors, std::make_index_sequence{}); }; template -template -consteval auto entity_metadata::erased_helper(const std::tuple& tuple) +template +consteval auto entity_metadata::erased_helper(const Tuple& tuple, std::index_sequence) { - std::array array { std::get(tuple).erased()..., }; + std::array array { std::get(tuple).erased()..., }; return array; } -- cgit v1.2.3