Skip to main content

magic_enum::containers

C++ API reference for the namespace magic_enum::containers.

Public API​

Class: bitset​

Canonical path: magic_enum::containers::bitset

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

class bitset {};

Class: set​

Canonical path: magic_enum::containers::set

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

class set {};

Constructor: bitset​

Canonical path: magic_enum::containers::bitset::bitset

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

constexpr explicit bitset(detail::raw_access_t = raw_access) noexcept;
constexpr explicit bitset(detail::raw_access_t, const char_type* str, std::size_t n = ~std::size_t{0}, char_type zero = static_cast<char_type>('0'), char_type one = static_cast<char_type>('1'));
constexpr explicit bitset(detail::raw_access_t, string_view sv, string_view::size_type pos = 0, string_view::size_type n = string_view::npos, char_type zero = static_cast<char_type>('0'), char_type one = static_cast<char_type>('1'));
constexpr explicit bitset(detail::raw_access_t, unsigned long long val);
constexpr explicit bitset(V starter);
constexpr bitset(std::initializer_list<E> starters);
constexpr explicit bitset(string_view sv, Cmp&& cmp = {}, char_type sep = static_cast<char_type>('|'));

Constructor: set​

Canonical path: magic_enum::containers::set::set

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

constexpr set() noexcept = default;
constexpr set(set&&) noexcept = default;
constexpr set(const set&) noexcept = default;
constexpr set(InputIt first, InputIt last);
constexpr set(std::initializer_list<E> ilist);
constexpr explicit set(V starter);

Free Function: bitset​

Canonical path: magic_enum::containers::bitset

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

explicit bitset(V starter) -> bitset<V>;

Free Function: get​

Canonical path: magic_enum::containers::get

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

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;
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;

Free Function: make_array​

Canonical path: magic_enum::containers::make_array

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

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

Free Function: set​

Canonical path: magic_enum::containers::set

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

explicit set(V starter) -> set<V>;

Free Function: to_array​

Canonical path: magic_enum::containers::to_array

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

constexpr std::enable_if_t<(enum_count<E>() == N), array<E, std::remove_cv_t<T>>> to_array(T(&&a)[N]);
constexpr std::enable_if_t<(enum_count<E>() == N), array<E, std::remove_cv_t<T>>> to_array(T (&a)[N]);

Member Function: at​

Canonical path: magic_enum::containers::array::at

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

constexpr const_reference at(E pos) const;
constexpr reference at(E pos);

Member Function: back​

Canonical path: magic_enum::containers::array::back

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_reference back() const noexcept;
[[nodiscard]] constexpr reference back() noexcept;

Member Function: begin​

Canonical path: magic_enum::containers::array::begin

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_iterator begin() const noexcept;
[[nodiscard]] constexpr iterator begin() noexcept;

Member Function: cbegin​

Canonical path: magic_enum::containers::array::cbegin

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr const_iterator cbegin() const noexcept;

Member Function: cend​

Canonical path: magic_enum::containers::array::cend

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr const_iterator cend() const noexcept;

Member Function: crbegin​

Canonical path: magic_enum::containers::array::crbegin

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr const_iterator crbegin() const noexcept;

Member Function: crend​

Canonical path: magic_enum::containers::array::crend

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr const_iterator crend() const noexcept;

Member Function: data​

Canonical path: magic_enum::containers::array::data

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_pointer data() const noexcept;
[[nodiscard]] constexpr pointer data() noexcept;

Member Function: empty​

Canonical path: magic_enum::containers::array::empty

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr bool empty() const noexcept;

Member Function: end​

Canonical path: magic_enum::containers::array::end

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_iterator end() const noexcept;
[[nodiscard]] constexpr iterator end() noexcept;

Member Function: fill​

Canonical path: magic_enum::containers::array::fill

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr void fill(const V& value);

Member Function: front​

Canonical path: magic_enum::containers::array::front

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_reference front() const noexcept;
[[nodiscard]] constexpr reference front() noexcept;

Member Function: max_size​

Canonical path: magic_enum::containers::array::max_size

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr size_type max_size() const noexcept;

Member Function: operator!=​

Canonical path: magic_enum::containers::array::operator!=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bool operator!=(const array& a1, const array& a2);

Member Function: operator<​

Canonical path: magic_enum::containers::array::operator<

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bool operator<(const array& a1, const array& a2);

Member Function: operator<=​

Canonical path: magic_enum::containers::array::operator<=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bool operator<=(const array& a1, const array& a2);

Member Function: operator==​

Canonical path: magic_enum::containers::array::operator==

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bool operator==(const array& a1, const array& a2);

Member Function: operator>​

Canonical path: magic_enum::containers::array::operator>

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bool operator>(const array& a1, const array& a2);

Member Function: operator>=​

Canonical path: magic_enum::containers::array::operator>=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bool operator>=(const array& a1, const array& a2);

Member Function: operator[]​

Canonical path: magic_enum::containers::array::operator[]

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_reference operator[](E pos) const;
[[nodiscard]] constexpr reference operator[](E pos);

Member Function: rbegin​

Canonical path: magic_enum::containers::array::rbegin

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_iterator rbegin() const noexcept;
[[nodiscard]] constexpr iterator rbegin() noexcept;

Member Function: rend​

Canonical path: magic_enum::containers::array::rend

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_iterator rend() const noexcept;
[[nodiscard]] constexpr iterator rend() noexcept;

Member Function: size​

Canonical path: magic_enum::containers::array::size

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr size_type size() const noexcept;

Member Function: swap​

Canonical path: magic_enum::containers::array::swap

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr void swap(array& other) noexcept(std::is_nothrow_swappable_v<V>);

Member Function: all​

Canonical path: magic_enum::containers::bitset::all

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr bool all() const noexcept;

Member Function: any​

Canonical path: magic_enum::containers::bitset::any

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr bool any() const noexcept;

Member Function: count​

Canonical path: magic_enum::containers::bitset::count

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr std::size_t count() const noexcept;

Member Function: flip​

Canonical path: magic_enum::containers::bitset::flip

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr bitset& flip() noexcept;

Member Function: max_size​

Canonical path: magic_enum::containers::bitset::max_size

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr std::size_t max_size() const noexcept;

Member Function: none​

Canonical path: magic_enum::containers::bitset::none

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr bool none() const noexcept;

Member Function: operator std::enable_if_t<magic_enum::detail::subtype_v<V> == magic_enum::detail::enum_subtype::flags, E>​

Canonical path: magic_enum::containers::bitset::operator std::enable_if_t<magic_enum::detail::subtype_v<V> == magic_enum::detail::enum_subtype::flags, E>

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr explicit operator std::enable_if_t<magic_enum::detail::subtype_v<V> == magic_enum::detail::enum_subtype::flags, E>() const;

Member Function: operator!=​

Canonical path: magic_enum::containers::bitset::operator!=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bool operator!=(const bitset& lhs, const bitset& rhs) noexcept;

Member Function: operator&​

Canonical path: magic_enum::containers::bitset::operator&

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bitset operator&(const bitset& lhs, const bitset& rhs) noexcept;

Member Function: operator&=​

Canonical path: magic_enum::containers::bitset::operator&=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr bitset& operator&=(const bitset& other) noexcept;

Member Function: operator<<​

Canonical path: magic_enum::containers::bitset::operator<<

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

std::ostream& operator<<(std::ostream& o, const bitset& bs);

Member Function: operator==​

Canonical path: magic_enum::containers::bitset::operator==

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bool operator==(const bitset& lhs, const bitset& rhs) noexcept;

Member Function: operator>>​

Canonical path: magic_enum::containers::bitset::operator>>

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

std::istream& operator>>(std::istream& i, bitset& bs);

Member Function: operator[]​

Canonical path: magic_enum::containers::bitset::operator[]

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr bool operator[](E pos) const;
[[nodiscard]] constexpr reference operator[](E pos);

Member Function: operator^​

Canonical path: magic_enum::containers::bitset::operator^

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bitset operator^(const bitset& lhs, const bitset& rhs) noexcept;

Member Function: operator^=​

Canonical path: magic_enum::containers::bitset::operator^=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr bitset& operator^=(const bitset& other) noexcept;

Member Function: operator|​

Canonical path: magic_enum::containers::bitset::operator|

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] friend constexpr bitset operator|(const bitset& lhs, const bitset& rhs) noexcept;

Member Function: operator|=​

Canonical path: magic_enum::containers::bitset::operator|=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr bitset& operator|=(const bitset& other) noexcept;

Member Function: operator~​

Canonical path: magic_enum::containers::bitset::operator~

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr bitset operator~() const noexcept;

Member Function: reset​

Canonical path: magic_enum::containers::bitset::reset

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

constexpr bitset& reset() noexcept;
constexpr bitset& reset(E pos);

Member Function: set​

Canonical path: magic_enum::containers::bitset::set

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

constexpr bitset& set() noexcept;
constexpr bitset& set(E pos, bool value = true);

Member Function: size​

Canonical path: magic_enum::containers::bitset::size

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr std::size_t size() const noexcept;

Member Function: test​

Canonical path: magic_enum::containers::bitset::test

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr bool test(E pos) const;

Member Function: to_string​

Canonical path: magic_enum::containers::bitset::to_string

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] string to_string(char_type sep = static_cast<char_type>('|')) const;
[[nodiscard]] string to_string(detail::raw_access_t, char_type zero = static_cast<char_type>('0'), char_type one = static_cast<char_type>('1')) const;

Member Function: to_ullong​

Canonical path: magic_enum::containers::bitset::to_ullong

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr unsigned long long to_ullong(detail::raw_access_t raw) const;

Member Function: to_ulong​

Canonical path: magic_enum::containers::bitset::to_ulong

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr unsigned long long to_ulong(detail::raw_access_t raw) const;

Member Function: begin​

Canonical path: magic_enum::containers::set::begin

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr const_iterator begin() const noexcept;

Member Function: cbegin​

Canonical path: magic_enum::containers::set::cbegin

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr const_iterator cbegin() const noexcept;

Member Function: cend​

Canonical path: magic_enum::containers::set::cend

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr const_iterator cend() const noexcept;

Member Function: clear​

Canonical path: magic_enum::containers::set::clear

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr void clear() noexcept;

Member Function: contains​

Canonical path: magic_enum::containers::set::contains

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr bool contains(const key_type& key) const noexcept;
[[nodiscard]] constexpr std::enable_if_t<detail::is_transparent_v<KC>, bool> contains(const K& x) const noexcept;

Member Function: count​

Canonical path: magic_enum::containers::set::count

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr size_type count(const key_type& key) const noexcept;
[[nodiscard]] constexpr std::enable_if_t<detail::is_transparent_v<KC>, size_type> count(const K& x) const;

Member Function: crbegin​

Canonical path: magic_enum::containers::set::crbegin

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr const_reverse_iterator crbegin() const noexcept;

Member Function: crend​

Canonical path: magic_enum::containers::set::crend

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr const_reverse_iterator crend() const noexcept;

Member Function: emplace​

Canonical path: magic_enum::containers::set::emplace

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr std::pair<iterator, bool> emplace(Args&&... args) noexcept;

Member Function: emplace_hint​

Canonical path: magic_enum::containers::set::emplace_hint

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr iterator emplace_hint(const_iterator, Args&&... args) noexcept;

Member Function: empty​

Canonical path: magic_enum::containers::set::empty

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr bool empty() const noexcept;

Member Function: end​

Canonical path: magic_enum::containers::set::end

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr const_iterator end() const noexcept;

Member Function: equal_range​

Canonical path: magic_enum::containers::set::equal_range

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr std::pair<const_iterator, const_iterator> equal_range(const key_type& key) const noexcept;
[[nodiscard]] constexpr std::enable_if_t<detail::is_transparent_v<KC>, std::pair<const_iterator, const_iterator>> equal_range(const K& x) const noexcept;

Member Function: erase​

Canonical path: magic_enum::containers::set::erase

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

constexpr iterator erase(const_iterator first, const_iterator last) noexcept;
constexpr size_type erase(const key_type& key) noexcept;
constexpr iterator erase(const_iterator pos) noexcept;
constexpr std::enable_if_t<detail::is_transparent_v<KC>, size_type> erase(K&& x) noexcept;

Member Function: erase_if​

Canonical path: magic_enum::containers::set::erase_if

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

size_type erase_if(Pred pred);

Member Function: find​

Canonical path: magic_enum::containers::set::find

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_iterator find(const key_type& key) const noexcept;
[[nodiscard]] constexpr std::enable_if_t<detail::is_transparent_v<KC>, const_iterator> find(const K& x) const;

Member Function: insert​

Canonical path: magic_enum::containers::set::insert

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

constexpr iterator insert(const_iterator, const value_type& value) noexcept;
constexpr void insert(InputIt first, InputIt last) noexcept;
constexpr iterator insert(const_iterator hint, value_type&& value) noexcept;
constexpr void insert(std::initializer_list<value_type> ilist) noexcept;
constexpr std::pair<iterator, bool> insert(value_type&& value) noexcept;
constexpr std::pair<iterator, bool> insert(const value_type& value) noexcept;

Member Function: key_comp​

Canonical path: magic_enum::containers::set::key_comp

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr key_compare key_comp() const;

Member Function: lower_bound​

Canonical path: magic_enum::containers::set::lower_bound

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_iterator lower_bound(const key_type& key) const noexcept;
[[nodiscard]] constexpr std::enable_if_t<detail::is_transparent_v<KC>, const_iterator> lower_bound(const K& x) const noexcept;

Member Function: max_size​

Canonical path: magic_enum::containers::set::max_size

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr size_type max_size() const noexcept;

Member Function: operator!=​

Canonical path: magic_enum::containers::set::operator!=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr friend bool operator!=(const set& lhs, const set& rhs) noexcept;

Member Function: operator<​

Canonical path: magic_enum::containers::set::operator<

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr friend bool operator<(const set& lhs, const set& rhs) noexcept;

Member Function: operator<=​

Canonical path: magic_enum::containers::set::operator<=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr friend bool operator<=(const set& lhs, const set& rhs) noexcept;

Member Function: operator=​

Canonical path: magic_enum::containers::set::operator=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

constexpr set& operator=(set&&) noexcept = default;
constexpr set& operator=(const set&) noexcept = default;
constexpr set& operator=(std::initializer_list<E> ilist);

Member Function: operator==​

Canonical path: magic_enum::containers::set::operator==

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr friend bool operator==(const set& lhs, const set& rhs) noexcept;

Member Function: operator>​

Canonical path: magic_enum::containers::set::operator>

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr friend bool operator>(const set& lhs, const set& rhs) noexcept;

Member Function: operator>=​

Canonical path: magic_enum::containers::set::operator>=

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr friend bool operator>=(const set& lhs, const set& rhs) noexcept;

Member Function: rbegin​

Canonical path: magic_enum::containers::set::rbegin

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr const_reverse_iterator rbegin() const noexcept;

Member Function: rend​

Canonical path: magic_enum::containers::set::rend

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

constexpr const_reverse_iterator rend() const noexcept;

Member Function: size​

Canonical path: magic_enum::containers::set::size

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr size_type size() const noexcept;

Member Function: swap​

Canonical path: magic_enum::containers::set::swap

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

void swap(set& other) noexcept;

Member Function: upper_bound​

Canonical path: magic_enum::containers::set::upper_bound

Declared in: include/magic_enum/magic_enum_containers.hpp

Signatures​

[[nodiscard]] constexpr const_iterator upper_bound(const key_type& key) const noexcept;
[[nodiscard]] constexpr std::enable_if_t<detail::is_transparent_v<KC>, const_iterator> upper_bound(const K& x) const noexcept;

Member Function: value_comp​

Canonical path: magic_enum::containers::set::value_comp

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

[[nodiscard]] constexpr value_compare value_comp() const;

Struct: array​

Canonical path: magic_enum::containers::array

Declared in: include/magic_enum/magic_enum_containers.hpp

Signature​

struct array {};