|
template<class... Args_t>
requires mysql::meta::Not_decayed<This_t, Args_t...> |
| | Map_boundary_container (Args_t &&...args) noexcept |
| |
| | Nonthrowing_boundary_container_adaptor () noexcept=default |
| | Default constructor. More...
|
| |
| | Nonthrowing_boundary_container_adaptor (const This_t &other)=delete |
| |
| | Nonthrowing_boundary_container_adaptor (This_t &&other) noexcept=default |
| |
| This_t & | operator= (const This_t &other)=delete |
| |
| This_t & | operator= (This_t &&other) noexcept=default |
| |
| | ~Nonthrowing_boundary_container_adaptor () noexcept=default |
| |
| | Nonthrowing_boundary_container_adaptor (const Memory_resource_t &memory_resource) noexcept |
| | Construct using the given Memory_resource. More...
|
| |
| auto & | throwing () noexcept |
| | Return a non-const reference to the underlying, throwing boundary container. More...
|
| |
| const auto & | throwing () const noexcept |
| | Return a const reference to the underlying, throwing boundary container. More...
|
| |
| auto & | storage () noexcept |
| | Return a non-const reference to the underlying storage. More...
|
| |
| const auto & | storage () const noexcept |
| | Return a const reference to the underlying storage. More...
|
| |
| auto | insert (const Element_t &element) noexcept |
| | Insert the given element (inplace union). More...
|
| |
| auto | remove (const Element_t &element) noexcept |
| | Remove the given element (inplace subtraction). More...
|
| |
| auto | inplace_union (const Element_t &start, const Element_t &exclusive_end) noexcept |
| | Insert the given interval (inplace union). More...
|
| |
| auto | inplace_union (Iterator_t &cursor, const Element_t &start, const Element_t &exclusive_end) noexcept |
| | Insert the given interval (inplace union), reading and updating the given cursor. More...
|
| |
| template<Is_boundary_set_over_traits_unqualified< Set_traits_t > Input_set_t> |
| auto | inplace_union (Input_set_t &&input_set) noexcept |
| | In-place insert the intervals of the given set into this container (inplace union). More...
|
| |
| auto | inplace_subtract (const Element_t &start, const Element_t &exclusive_end) noexcept |
| | Subtract the given interval. More...
|
| |
| auto | inplace_subtract (Iterator_t &cursor, const Element_t &start, const Element_t &exclusive_end) noexcept |
| | Subtract the given interval, reading and updating the given cursor. More...
|
| |
| template<Is_boundary_set_over_traits_unqualified< Set_traits_t > Input_set_t> |
| auto | inplace_subtract (Input_set_t &&input_set) noexcept |
| | In-place subtract intervals of the given container from this container. More...
|
| |
| auto | inplace_intersect (const Element_t &start, const Element_t &exclusive_end) noexcept |
| | In-place intersect this container with the given interval. More...
|
| |
| template<Is_boundary_set_over_traits_unqualified< Set_traits_t > Input_set_t> |
| auto | inplace_intersect (Input_set_t &&input_set) noexcept |
| | In-place intersect this container with intervals of the given container. More...
|
| |
| | Basic_boundary_container_wrapper (Args_t &&...args) |
| |
| | Basic_boundary_container_wrapper (const Basic_boundary_container_wrapper &source)=default |
| |
| | Basic_boundary_container_wrapper (Basic_boundary_container_wrapper &&source) noexcept=default |
| |
| Basic_boundary_container_wrapper & | operator= (const Basic_boundary_container_wrapper &source)=default |
| |
| Basic_boundary_container_wrapper & | operator= (Basic_boundary_container_wrapper &&source) noexcept=default |
| |
| | ~Basic_boundary_container_wrapper ()=default |
| |
| template<class... Args_t> |
| | Basic_set_container_wrapper (Args_t &&...args) |
| |
template<class Source_t >
requires Can_donate_set<decltype(std::declval<Source_t &&>().wrapped()), Wrapped_tp> |
| void | assign (Source_t &&source) |
| | Enable move-assign from any Basic_set_container_wrapper for a compatible set type (not necessarily for a derived class). 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(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...
|
| |
| 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...
|
| |
| 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...
|
| |
|
| using | Throwing_boundary_container_t = Throwing_boundary_container_tp |
| |
| using | Iterator_t = mysql::ranges::Range_iterator_type< Throwing_boundary_container_t > |
| |
| using | Const_iterator_t = mysql::ranges::Range_const_iterator_type< Throwing_boundary_container_t > |
| |
| using | Set_traits_t = Throwing_boundary_container_t::Set_traits_t |
| |
| using | Element_t = Set_traits_t::Element_t |
| |
| using | Storage_t = Throwing_boundary_container_t::Storage_t |
| |
| using | Memory_resource_t = mysql::allocators::Memory_resource |
| |
| using | Allocator_t = typename Throwing_boundary_container_t::Allocator_t |
| |
| using | This_t = Nonthrowing_boundary_container_adaptor< Throwing_boundary_container_t > |
| |
| using | Base_t = Basic_boundary_container_wrapper< Nonthrowing_boundary_container_adaptor< Throwing_boundary_container_tp >, Throwing_boundary_container_tp, mysql::utils::Shall_catch::yes > |
| |
| using | Wrapped_t = Wrapped_tp |
| |
| using | Iterator_t = Iterator_tp |
| |
| using | Const_iterator_t = Const_iterator_tp |
| |
| using | Set_category_t = Boundary_set_category_tag |
| |
| using | Set_traits_t = Set_traits_tp |
| |
| using | Element_t = typename Set_traits_tp::Element_t |
| |
| using | Iterator_t = Iterator_tp |
| |
| using | Const_iterator_t = Const_iterator_tp |
| |
| using | Set_traits_t = Set_traits_tp |
| |
| using | Iterator_getter_t = Iterator_getter_tp |
| |
| using | Element_t = typename Set_traits_t::Element_t |
| |
| static auto | upper_bound_impl (mysql::meta::Is_same_ignore_const< This_t > auto &self, const auto &cursor, const Element_t &element) noexcept |
| | Return iterator to the leftmost boundary at or after cursor that is greater than the given element. More...
|
| |
| static auto | lower_bound_impl (mysql::meta::Is_same_ignore_const< This_t > auto &self, const auto &cursor, const Element_t &element) noexcept |
| | Return iterator to the leftmost boundary at or after cursor that is greater than or equal to the given element. More...
|
| |
| static constexpr Iter_t | lower_bound_dispatch (Self_arg_t &self_arg, const Iter_t &hint, const Element_t &element) |
| | Implements the lower_bound functions with hint defined above, checking if the hint is already the correct answer, and otherwise delegating to the implementing class. More...
|
| |
| static constexpr auto | lower_bound_dispatch (Self_arg_t &self_arg, const Element_t &element) |
| | Implements the lower_bound functions without hint defined above. More...
|
| |
| static constexpr Iter_t | upper_bound_dispatch (Self_arg_t &self_arg, const Iter_t &hint, const Element_t &element) |
| | Implements the upper_bound functions with hint defined above, checking if the hint is already the correct answer, and otherwise delegating to the implementing class. More...
|
| |
| static constexpr auto | upper_bound_dispatch (Self_arg_t &self_arg, const Element_t &element) |
| | Implements the upper_bound functions without hint defined above. More...
|
| |
| static constexpr bool | has_fast_insertion |
| |
| auto & | wrapped () &noexcept |
| |
| const auto & | wrapped () const &noexcept |
| |
| auto && | wrapped () &&noexcept |
| |
template<Is_bounded_set_traits Set_traits_tp>
class mysql::sets::Map_boundary_container< Set_traits_tp >
Boundary container using std::map as backing storage.