|
| | Map_nested_storage (const Memory_resource_t &memory_resource=Memory_resource_t{}) noexcept |
| |
| | Map_nested_storage (const This_t &)=delete |
| |
| | Map_nested_storage (This_t &&) noexcept=default |
| |
| This_t & | operator= (const This_t &)=delete |
| |
| This_t & | operator= (This_t &&) noexcept=default |
| |
| | ~Map_nested_storage ()=default |
| |
template<class Iterator_t >
requires std::same_as<mysql::ranges::Iterator_value_type<Iterator_t>, Mapped_t> |
| auto | assign (const Iterator_t &it1, const Iterator_t &it2) noexcept |
| |
| template<class Iterator_t > |
| auto | assign (const Iterator_t &it1, const Iterator_t &it2) noexcept |
| |
| auto & | map () noexcept |
| |
| const auto & | map () const noexcept |
| |
| Iterator_t | find (const Key_t &key) noexcept |
| |
| Const_iterator_t | find (const Key_t &key) const noexcept |
| |
| Iterator_t | find (Iterator_t &cursor, const Key_t &key) noexcept |
| |
| Const_iterator_t | find (Const_iterator_t &cursor, const Key_t &key) const noexcept |
| |
| auto | emplace (Iterator_t &cursor, const Key_t &key) noexcept |
| | If no entry with the given key exists, insert one using the given cursor hint, and default-construct the mapped object. More...
|
| |
| auto | emplace (const Key_t &key) noexcept |
| | If no entry with the given key exists, insert one and default-construct the mapped object. More...
|
| |
| Iterator_t | steal_and_insert (const Iterator_t &position, This_t &source, Iterator_t steal_element) noexcept |
| | If no entry with the given key exists, insert one and default-construct the mapped object. More...
|
| |
| Iterator_t | erase (const Iterator_t &iterator) |
| | Remove the element that the iterator points to. More...
|
| |
| Iterator_t | erase (const Iterator_t &first, const Iterator_t &last) |
| | Remove the range of elements from first, inclusive, to last, exclusive. More...
|
| |
template<std::input_iterator First_iterator_t, std::sentinel_for< First_iterator_t > Sentinel_t>
requires requires(Wrapped_t w, First_iterator_t f, Sentinel_t s) { w.assign(f, s); } |
| auto | assign (const First_iterator_t &first, const Sentinel_t &last) noexcept(shall_catch==mysql::utils::Shall_catch::yes||noexcept(std::declval< Wrapped_t >().assign(first, last))) |
| | Assign a range defined by the two iterators to the wrapped object. More...
|
| |
| template<class Other_t > |
| auto | assign (const Other_t &other) noexcept(shall_catch==mysql::utils::Shall_catch::yes||noexcept(std::declval< Self_t >().assign(other.begin(), other.end()))) |
| | Copy-assign the other object to the wrapped object. More...
|
| |
| void | assign (Self_t &&other) noexcept |
| | Move-assign the other object to the wrapped object. More...
|
| |
| | Basic_container_wrapper (Args_t &&...args) noexcept(noexcept(Wrapped_t(std::forward< Args_t >(args)...))) |
| | Constructor that delegates all parameters to the constructor of the wrapped class. More...
|
| |
| auto | assign (const First_iterator_t &first, const Sentinel_t &last) noexcept(mysql::utils::Shall_catch::no==mysql::utils::Shall_catch::yes||noexcept(std::declval< Wrapped_t >().assign(first, last))) |
| | Assign a range defined by the two iterators to the wrapped object. More...
|
| |
| auto | assign (const Other_t &other) noexcept(mysql::utils::Shall_catch::no==mysql::utils::Shall_catch::yes||noexcept(std::declval< Self_t >().assign(other.begin(), other.end()))) |
| | Copy-assign the other object to the wrapped object. More...
|
| |
| void | assign (Self_t &&other) noexcept |
| | Move-assign the other object to the wrapped object. More...
|
| |
| void | clear () noexcept |
| | Clear the wrapped object. More...
|
| |
| auto | get_memory_resource () const noexcept |
| | Return the memory resource used by the wrapped object. More...
|
| |
| auto | get_allocator () const noexcept |
| | Return the allocator used by the wrapped object. More...
|
| |
| auto | begin () noexcept |
| |
| auto | begin () const noexcept |
| |
| auto | end () noexcept |
| |
| auto | end () const noexcept |
| |
| auto | empty () const noexcept |
| |
| auto | size () const noexcept |
| |
| constexpr auto | cbegin () const |
| | Return constant iterator to the beginning. More...
|
| |
| constexpr auto | cend () const |
| | Return constant iterator to the end. More...
|
| |
| constexpr auto | rbegin () |
| | Return reverse iterator to the beginning. More...
|
| |
| constexpr auto | rend () |
| | Return reverse iterator to the end. More...
|
| |
| constexpr auto | rbegin () const |
| | Return const reverse iterator to the beginning. More...
|
| |
| constexpr auto | rend () const |
| | Return const reverse iterator to the end. More...
|
| |
| constexpr auto | crbegin () const |
| | Return const reverse iterator to the beginning. More...
|
| |
| constexpr auto | crend () const |
| | Return const reverse iterator to the end. More...
|
| |
| constexpr bool | empty () const |
| | Return true if the range is empty, i.e., begin() == end(). More...
|
| |
| constexpr | operator bool () const |
| | Return true if the range is non-empty, i.e., begin() != end(). More...
|
| |
| constexpr bool | operator! () const |
| | Return true if the range is empty, i.e., begin() == end(). More...
|
| |
| constexpr auto | size () const |
| | Return the number of elements in this view, unsigned (size_t), by computing std::ranges::distance(begin, end) More...
|
| |
| constexpr auto | ssize () const |
| | Return the number of elements in this view, signed (ptrdiff_t). More...
|
| |
| constexpr decltype(auto) | front () const |
| | Return the first element. More...
|
| |
| constexpr decltype(auto) | back () const |
| | Return the last element. Enabled if we have bidirectional iterators. More...
|
| |
| constexpr decltype(auto) | operator[] (std::ptrdiff_t n) |
| | Return the n'th element, possibly mutable. More...
|
| |
| constexpr decltype(auto) | operator[] (std::ptrdiff_t n) const |
| | Return the n'th element, const. More...
|
| |
| constexpr auto * | data () |
| | Return pointer to underlying contiguous memory. More...
|
| |
| constexpr auto * | data () const |
| | Return const pointer to underlying contiguous memory. More...
|
| |
| constexpr Iterator_t | lower_bound (const Iterator_t &hint, const Element_t &element) |
| | Return the lower bound for element, using an iterator hint known to be less than or equal to the correct result. More...
|
| |
| constexpr Const_iterator_t | lower_bound (const Const_iterator_t &hint, const Element_t &element) const |
| | Return the lower bound for element, using an iterator hint known to be less than or equal to the correct result. More...
|
| |
| constexpr Iterator_t | lower_bound (const Element_t &element) |
| | Return the lower bound for element. More...
|
| |
| constexpr Const_iterator_t | lower_bound (const Element_t &element) const |
| | Return the lower bound for element. More...
|
| |
| constexpr Iterator_t | upper_bound (const Iterator_t &hint, const Element_t &element) |
| | Return the upper bound for element, using an iterator hint known to be less than or equal to the correct result. More...
|
| |
| constexpr Const_iterator_t | upper_bound (const Const_iterator_t &hint, const Element_t &element) const |
| | Return the upper bound for element, using an iterator hint known to be less than or equal to the correct result. More...
|
| |
| constexpr Iterator_t | upper_bound (const Element_t &element) |
| | Return the upper bound for element. More...
|
| |
| constexpr Const_iterator_t | upper_bound (const Element_t &element) const |
| | Return the upper bound for element. More...
|
| |
template<Is_nested_set_traits Set_traits_tp, class Map_tp>
class mysql::sets::Map_nested_storage< Set_traits_tp, Map_tp >
Storage for nested sets, backed by a std::map.
- Template Parameters
-
| Set_traits_tp | Nested set traits. |
| Map_tp | Type of map. This should have an API similar to std::map, with key type equal to Set_traits_tp::Key_traits_t::Element_t and value type a Set with category Set_traits_tp::Mapped_category_t and traits Set_traits_tp::Mapped_traits_t. |