Classes | Namespaces | Macros | Typedefs | Functions | Variables
magic_enum_containers.hpp File Reference
#include "magic_enum.hpp"
#include <cstdlib>
Include dependency graph for magic_enum_containers.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  magic_enum::containers::array< E, V, Index >
 
class  magic_enum::containers::bitset< E, Index >
 
struct  magic_enum::containers::detail::FilteredIterator< Parent, Iterator, Getter, Predicate >
 
struct  magic_enum::containers::detail::name_sort_impl< void, Cmp >::FullCmp< C, typename >
 
struct  magic_enum::containers::detail::name_sort_impl< void, Cmp >::FullCmp< C, std::enable_if_t<!std::is_invocable_v< C, string_view, string_view > &&std::is_invocable_v< C, char_type, char_type > > >
 
struct  magic_enum::containers::set< E, Cmp >::Getter
 
class  magic_enum::containers::detail::indexing< E, Cmp, typename >
 
class  magic_enum::containers::detail::indexing< E, Cmp, std::enable_if_t< std::is_enum_v< std::decay_t< E > > &&(std::is_same_v< Cmp, std::less< E >>||std::is_same_v< Cmp, std::less<>>)> >
 
struct  magic_enum::containers::detail::indexing< void, Cmp, void >
 
struct  magic_enum::containers::detail::name_sort_impl< E, Cmp, typename >
 
struct  magic_enum::containers::detail::name_sort_impl< void, Cmp >
 
struct  magic_enum::containers::set< E, Cmp >::Predicate
 
struct  magic_enum::containers::detail::raw_access_t
 
class  magic_enum::containers::bitset< E, Index >::reference_impl< parent_t >
 
class  magic_enum::containers::set< E, Cmp >
 

Namespaces

 magic_enum
 
 magic_enum::containers
 
 magic_enum::containers::detail
 

Macros

#define MAGIC_ENUM_THROW(...)   std::abort()
 

Typedefs

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

Functions

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

Variables

template<typename T , typename = void>
constexpr bool magic_enum::containers::detail::is_transparent_v {}
 
constexpr detail::raw_access_t magic_enum::containers::raw_access {}
 

Macro Definition Documentation

◆ MAGIC_ENUM_THROW

#define MAGIC_ENUM_THROW (   ...)    std::abort()

Definition at line 47 of file magic_enum_containers.hpp.



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