MySQL 9.6.0
Source Code Documentation
mysql::sets::Nested_view_interface< Self_tp, Iterator_tp, Const_iterator_tp, Set_traits_tp > Class Template Reference

CRTP base class/mixin used to implement Nested sets that are views. More...

#include <nested_set_interface.h>

Inheritance diagram for mysql::sets::Nested_view_interface< Self_tp, Iterator_tp, Const_iterator_tp, Set_traits_tp >:
[legend]

Private Types

using Nested_set_base_t = detail::Nested_set_interface< Self_tp, Iterator_tp, Const_iterator_tp, Set_traits_tp >
 

Additional Inherited Members

- Public Types inherited from mysql::sets::detail::Nested_set_interface< Self_tp, Iterator_tp, Const_iterator_tp, Set_traits_tp >
using Iterator_t = Iterator_tp
 
using Const_iterator_t = Const_iterator_tp
 
using Set_category_t = Nested_set_category_tag
 
using Iterator_value_t = mysql::ranges::Iterator_value_type< Iterator_t >
 
using Set_traits_t = Set_traits_tp
 
using Key_traits_t = typename Set_traits_t::Key_traits_t
 
using Key_t = typename Key_traits_t::Element_t
 
using Mapped_category_t = typename Set_traits_t::Mapped_category_t
 
using Mapped_traits_t = typename Set_traits_t::Mapped_traits_t
 
using Mapped_t = typename Iterator_value_t::second_type
 
- Public Member Functions inherited from mysql::ranges::Collection_interface< Self_tp >
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...
 
- Public Member Functions inherited from mysql::sets::detail::Nested_set_interface< Self_tp, Iterator_tp, Const_iterator_tp, Set_traits_tp >
auto & operator[] (const Key_t &key) noexcept
 Return non-const reference to the mapped Set for the given key. More...
 
const auto & operator[] (const Key_t &key) const noexcept
 Return const reference to the mapped Set for the given key. More...
 

Detailed Description

template<class Self_tp, std::input_iterator Iterator_tp, std::input_iterator Const_iterator_tp, Is_nested_set_traits Set_traits_tp>
class mysql::sets::Nested_view_interface< Self_tp, Iterator_tp, Const_iterator_tp, Set_traits_tp >

CRTP base class/mixin used to implement Nested sets that are views.

This defines the operator[] members based on find members in the subclass, and also implements all the view members defined by mysql::ranges::Collection_interface.

Template Parameters
Self_tpClass deriving from this class.
Iterator_tpIterator type.
Const_iterator_tpConst iterator type.
Set_traits_tpNested set traits.

Member Typedef Documentation

◆ Nested_set_base_t

template<class Self_tp , std::input_iterator Iterator_tp, std::input_iterator Const_iterator_tp, Is_nested_set_traits Set_traits_tp>
using mysql::sets::Nested_view_interface< Self_tp, Iterator_tp, Const_iterator_tp, Set_traits_tp >::Nested_set_base_t = detail::Nested_set_interface<Self_tp, Iterator_tp, Const_iterator_tp, Set_traits_tp>
private

The documentation for this class was generated from the following file: