Namespaces | Classes | Typedefs | Functions | Variables
magic_enum::containers Namespace Reference

Namespaces

 detail
 

Classes

struct  array
 
class  bitset
 
class  set
 

Typedefs

template<typename Cmp = std::less<>>
using comparator_indexing = detail::indexing< void, Cmp >
 
template<typename E = void>
using default_indexing = detail::indexing< E >
 
template<typename E = void>
using name_greater = detail::name_sort_impl< E, std::greater<> >
 
using name_greater_case_insensitive = detail::name_sort_impl< void, magic_enum::detail::case_insensitive< std::greater<> >>
 
template<typename E = void>
using name_less = detail::name_sort_impl< E >
 
using name_less_case_insensitive = detail::name_sort_impl< void, magic_enum::detail::case_insensitive< std::less<> >>
 

Functions

template<typename V , int = 0>
 bitset (V starter) -> bitset< V >
 
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 && > 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 && > 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 & > 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 & > 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 && > 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 && > 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 & > 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 & > get (const array< E, V, Index > &a) noexcept
 
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... > > > > make_array (Ts &&... ts)
 
template<typename V , int = 0>
 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 > > > 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 > > > to_array (T(&a)[N])
 

Variables

constexpr detail::raw_access_t raw_access {}
 

Typedef Documentation

◆ comparator_indexing

template<typename Cmp = std::less<>>
using magic_enum::containers::comparator_indexing = typedef detail::indexing<void, Cmp>

Definition at line 329 of file magic_enum_containers.hpp.

◆ default_indexing

template<typename E = void>
using magic_enum::containers::default_indexing = typedef detail::indexing<E>

Definition at line 326 of file magic_enum_containers.hpp.

◆ name_greater

template<typename E = void>
using magic_enum::containers::name_greater = typedef detail::name_sort_impl<E, std::greater<> >

Definition at line 319 of file magic_enum_containers.hpp.

◆ name_greater_case_insensitive

Definition at line 323 of file magic_enum_containers.hpp.

◆ name_less

template<typename E = void>
using magic_enum::containers::name_less = typedef detail::name_sort_impl<E>

Definition at line 316 of file magic_enum_containers.hpp.

◆ name_less_case_insensitive

Definition at line 321 of file magic_enum_containers.hpp.

Function Documentation

◆ bitset()

template<typename V , int = 0>
magic_enum::containers::bitset ( starter) -> bitset< V >
explicit

◆ get() [1/8]

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)
constexpr

Definition at line 1158 of file magic_enum_containers.hpp.

◆ get() [2/8]

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)
constexprnoexcept

Definition at line 1138 of file magic_enum_containers.hpp.

◆ get() [3/8]

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)
constexpr

Definition at line 1153 of file magic_enum_containers.hpp.

◆ get() [4/8]

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)
constexprnoexcept

Definition at line 1133 of file magic_enum_containers.hpp.

◆ get() [5/8]

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)
constexpr

Definition at line 1168 of file magic_enum_containers.hpp.

◆ get() [6/8]

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)
constexprnoexcept

Definition at line 1148 of file magic_enum_containers.hpp.

◆ get() [7/8]

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)
constexpr

Definition at line 1163 of file magic_enum_containers.hpp.

◆ get() [8/8]

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)
constexprnoexcept

Definition at line 1143 of file magic_enum_containers.hpp.

◆ make_array()

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)
constexpr

Definition at line 475 of file magic_enum_containers.hpp.

◆ set()

template<typename V , int = 0>
magic_enum::containers::set ( starter) -> set< V >
explicit

◆ to_array() [1/2]

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])
constexpr

Definition at line 470 of file magic_enum_containers.hpp.

◆ to_array() [2/2]

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])
constexpr

Definition at line 465 of file magic_enum_containers.hpp.

Variable Documentation

◆ raw_access

constexpr detail::raw_access_t magic_enum::containers::raw_access {}
inlineconstexpr

Definition at line 479 of file magic_enum_containers.hpp.



magic_enum
Author(s):
autogenerated on Fri Feb 21 2025 03:20:19