Go to the documentation of this file.
9 #ifndef EAGINE_ENUM_SPAN_HPP
10 #define EAGINE_ENUM_SPAN_HPP
20 template <
typename EnumClass>
24 std::vector<value_type> _values;
27 enum_list() =
default;
29 template <
typename... EnumValues>
30 constexpr enum_list(EnumValues... evs) noexcept
33 auto values() const noexcept {
38 template <
typename EnumClass>
39 struct enum_span :
span<const typename EnumClass::value_type> {
41 enum_span() =
default;
43 enum_span(
const enum_list<EnumClass>& enums) noexcept
44 : span<const typename EnumClass::value_type>(enums.values()) {}
49 #endif // EAGINE_ENUM_SPAN_HPP
value_type
Value tree value element data type enumeration.
Definition: interface.hpp:27
Common code is placed in this namespace.
Definition: eagine.hpp:21
static constexpr auto view(T *addr, S size) noexcept -> const_span< T >
Creates a view starting at the specified pointer and specified length.
Definition: span.hpp:458
basic_span< T, T *, S > span
Default alias for basic memory spans with native pointer type.
Definition: span.hpp:415