|
template<class... Args_t>
requires mysql::meta::Not_decayed<This_t, Args_t...> |
| | 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...
|
| |
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...
|
| |
| 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 | end () noexcept |
| |
| auto | begin () const 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...
|
| |
template<class Self_tp, class Wrapped_tp, mysql::utils::Shall_catch shall_catch = mysql::utils::Shall_catch::no>
class mysql::containers::Basic_container_wrapper< Self_tp, Wrapped_tp, shall_catch >
CRTP base class (mixin) to define a wrapper around a container.
This defines the clear and assign member modifiers based on the wrapped container, as well as get_memory_resource and all the Collection_interface members.
- Template Parameters
-
| Self_tp | The wrapper class that inherits from this class. |
| Wrapped_tp | The wrapped class. |
| shall_catch | If yes, assign will use mysql::utils::call_and_catch to convert exceptions to return values. |
template<class Self_tp , class Wrapped_tp , mysql::utils::Shall_catch shall_catch = mysql::utils::Shall_catch::no>
Return the allocator used by the wrapped object.
This invokes the get_allocator member of the wrapped object, if it exists. Otherwise, this member cannot be used.
template<class Self_tp , class Wrapped_tp , mysql::utils::Shall_catch shall_catch = mysql::utils::Shall_catch::no>
Return the memory resource used by the wrapped object.
This invokes the get_memory_resource member of the wrapped object, if it exists; otherwise invokes the get_memory_resource member of the object returned by the get_allocator member of the wrapped object, if both those exists. If none of these two is possible, this member cannot be used.