21 static constexpr size_t size()
noexcept
23 return sizeof...(Tags);
28 return tag_at_index<Tags...>(i);
33 return has_tag<Tags...>(tag);
36 constexpr auto begin()
noexcept
41 constexpr auto end()
noexcept
46 constexpr auto begin()
const noexcept
51 constexpr auto end()
const noexcept
56 constexpr T &operator[](
size_t i)
noexcept
61 constexpr T
const &operator[](
size_t i)
const noexcept
68 return data[index_of_tag<Tags...>(tag)];
73 return data[index_of_tag<Tags...>(tag)];
76 template<basic_fixed_
string Tag>
77 constexpr T &get()
noexcept
79 return data[index_of_tag<Tag, Tags...>()];
82 template<basic_fixed_
string Tag>
83 constexpr T
const &get()
const noexcept
85 return data[index_of_tag<Tag, Tags...>()];