Template Class set
Defined in File magic_enum_containers.hpp
Nested Relationships
Nested Types
Class Documentation
-
template<typename E, typename Cmp = std::less<E>>
class set Public Types
-
using size_type = std::size_t
-
using difference_type = std::ptrdiff_t
-
using reference = value_type&
-
using const_reference = const value_type&
-
using pointer = value_type*
-
using const_pointer = const value_type*
-
using iterator = detail::FilteredIterator<const set*, const E*, Getter, Predicate>
-
using const_iterator = detail::FilteredIterator<const set*, const E*, Getter, Predicate>
-
using const_reverse_iterator = std::reverse_iterator<const_iterator>
Public Functions
-
constexpr set() noexcept = default
-
template<typename V, std::enable_if_t<std::is_same_v<V, E> && magic_enum::detail::subtype_v<V> == magic_enum::detail::enum_subtype::flags, int> = 0>
inline explicit constexpr set(V starter)
-
inline constexpr const_iterator begin() const noexcept
-
inline constexpr const_iterator end() const noexcept
-
inline constexpr const_iterator cbegin() const noexcept
-
inline constexpr const_iterator cend() const noexcept
-
inline constexpr const_reverse_iterator rbegin() const noexcept
-
inline constexpr const_reverse_iterator rend() const noexcept
-
inline constexpr const_reverse_iterator crbegin() const noexcept
-
inline constexpr const_reverse_iterator crend() const noexcept
-
inline constexpr bool empty() const noexcept
-
inline constexpr void clear() noexcept
-
inline constexpr std::pair<iterator, bool> insert(const value_type &value) noexcept
-
inline constexpr std::pair<iterator, bool> insert(value_type &&value) noexcept
-
inline constexpr iterator insert(const_iterator, const value_type &value) noexcept
-
inline constexpr iterator insert(const_iterator hint, value_type &&value) noexcept
-
inline constexpr void insert(std::initializer_list<value_type> ilist) noexcept
-
template<typename ...Args>
inline constexpr std::pair<iterator, bool> emplace(Args&&... args) noexcept
-
template<typename ...Args>
inline constexpr iterator emplace_hint(const_iterator, Args&&... args) noexcept
-
inline constexpr iterator erase(const_iterator pos) noexcept
-
inline constexpr iterator erase(const_iterator first, const_iterator last) noexcept
-
template<typename K, typename KC = key_compare>
inline constexpr std::enable_if_t<detail::is_transparent_v<KC>, size_type> erase(K &&x) noexcept
-
template<typename K, typename KC = key_compare>
inline constexpr std::enable_if_t<detail::is_transparent_v<KC>, size_type> count(const K &x) const
-
inline constexpr const_iterator find(const key_type &key) const noexcept
-
template<typename K, typename KC = key_compare>
inline constexpr std::enable_if_t<detail::is_transparent_v<KC>, const_iterator> find(const K &x) const
-
template<typename K, typename KC = key_compare>
inline constexpr std::enable_if_t<detail::is_transparent_v<KC>, bool> contains(const K &x) const noexcept
-
inline constexpr std::pair<const_iterator, const_iterator> equal_range(const key_type &key) const noexcept
-
template<typename K, typename KC = key_compare>
inline constexpr std::enable_if_t<detail::is_transparent_v<KC>, std::pair<const_iterator, const_iterator>> equal_range(const K &x) const noexcept
-
inline constexpr const_iterator lower_bound(const key_type &key) const noexcept
-
template<typename K, typename KC = key_compare>
inline constexpr std::enable_if_t<detail::is_transparent_v<KC>, const_iterator> lower_bound(const K &x) const noexcept
-
inline constexpr const_iterator upper_bound(const key_type &key) const noexcept
-
template<typename K, typename KC = key_compare>
inline constexpr std::enable_if_t<detail::is_transparent_v<KC>, const_iterator> upper_bound(const K &x) const noexcept
-
inline constexpr key_compare key_comp() const
-
inline constexpr value_compare value_comp() const
Friends
- inline friend constexpr friend bool operator== (const set &lhs, const set &rhs) noexcept
- inline friend constexpr friend bool operator!= (const set &lhs, const set &rhs) noexcept
- inline friend constexpr friend bool operator< (const set &lhs, const set &rhs) noexcept
- inline friend constexpr friend bool operator<= (const set &lhs, const set &rhs) noexcept
- inline friend constexpr friend bool operator> (const set &lhs, const set &rhs) noexcept
- inline friend constexpr friend bool operator>= (const set &lhs, const set &rhs) noexcept
-
using size_type = std::size_t