|
template<typename V , int = 0> |
| magic_enum::containers::bitset (V starter) -> bitset< V > |
|
template<typename Eq = std::equal_to<>, typename T1 , typename T2 > |
constexpr bool | magic_enum::containers::detail::equal (T1 &&t1, T2 &&t2, Eq &&eq={}) |
|
template<typename Cmp = std::less<>, typename BidirIt , typename E > |
constexpr auto | magic_enum::containers::detail::equal_range (BidirIt begin, BidirIt end, E &&e, Cmp &&comp={}) |
|
template<auto Enum, typename E , typename V , typename Index > |
constexpr std::enable_if_t< std::is_same_v< decltype(Enum), E > &&enum_contains(Enum), V && > | magic_enum::containers::get (array< E, V, Index > &&a) |
|
template<auto I, typename E , typename V , typename Index > |
constexpr std::enable_if_t<(std::is_integral_v< decltype(I)> &&I< enum_count< E >)), V && > | magic_enum::containers::get (array< E, V, Index > &&a) noexcept |
|
template<auto Enum, typename E , typename V , typename Index > |
constexpr std::enable_if_t< std::is_same_v< decltype(Enum), E > &&enum_contains(Enum), V & > | magic_enum::containers::get (array< E, V, Index > &a) |
|
template<auto I, typename E , typename V , typename Index > |
constexpr std::enable_if_t<(std::is_integral_v< decltype(I)> &&I< enum_count< E >)), V & > | magic_enum::containers::get (array< E, V, Index > &a) noexcept |
|
template<auto Enum, typename E , typename V , typename Index > |
constexpr std::enable_if_t< std::is_same_v< decltype(Enum), E > &&enum_contains(Enum), const V && > | magic_enum::containers::get (const array< E, V, Index > &&a) |
|
template<auto I, typename E , typename V , typename Index > |
constexpr std::enable_if_t<(std::is_integral_v< decltype(I)> &&I< enum_count< E >)), const V && > | magic_enum::containers::get (const array< E, V, Index > &&a) noexcept |
|
template<auto Enum, typename E , typename V , typename Index > |
constexpr std::enable_if_t< std::is_same_v< decltype(Enum), E > &&enum_contains(Enum), const V & > | magic_enum::containers::get (const array< E, V, Index > &a) |
|
template<auto I, typename E , typename V , typename Index > |
constexpr std::enable_if_t<(std::is_integral_v< decltype(I)> &&I< enum_count< E >)), const V & > | magic_enum::containers::get (const array< E, V, Index > &a) noexcept |
|
template<typename Cmp = std::less<>, typename T1 , typename T2 > |
constexpr bool | magic_enum::containers::detail::lexicographical_compare (T1 &&t1, T2 &&t2, Cmp &&cmp={}) noexcept |
|
template<typename Cmp = std::less<>, typename ForwardIt , typename E > |
constexpr ForwardIt | magic_enum::containers::detail::lower_bound (ForwardIt first, ForwardIt last, E &&e, Cmp &&comp={}) |
|
template<typename E , typename... Ts> |
constexpr std::enable_if_t<(enum_count< E >)==sizeof...(Ts)), array< E, std::remove_cv_t< std::common_type_t< Ts... > > > > | magic_enum::containers::make_array (Ts &&... ts) |
|
template<typename T > |
constexpr std::size_t | magic_enum::containers::detail::popcount (T x) noexcept |
|
template<typename V , int = 0> |
| magic_enum::containers::set (V starter) -> set< V > |
|
template<typename E , typename T , std::size_t N> |
constexpr std::enable_if_t<(enum_count< E >)==N), array< E, std::remove_cv_t< T > > > | magic_enum::containers::to_array (T(&&a)[N]) |
|
template<typename E , typename T , std::size_t N> |
constexpr std::enable_if_t<(enum_count< E >)==N), array< E, std::remove_cv_t< T > > > | magic_enum::containers::to_array (T(&a)[N]) |
|
template<typename E , typename T , std::size_t N, std::size_t... I> |
constexpr array< E, std::remove_cv_t< T > > | magic_enum::containers::detail::to_array_impl (T(&&a)[N], std::index_sequence< I... >) |
|
template<typename E , typename T , std::size_t N, std::size_t... I> |
constexpr array< E, std::remove_cv_t< T > > | magic_enum::containers::detail::to_array_impl (T(&a)[N], std::index_sequence< I... >) |
|