MySQL 9.6.0
Source Code Documentation
mysql::sets::Interval_set_view< Boundary_set_tp > Class Template Reference

View that provides and Interval set from an underlying Boundary set. More...

#include <interval_set_interface.h>

Inheritance diagram for mysql::sets::Interval_set_view< Boundary_set_tp >:
[legend]

Public Types

using Boundary_set_t = Boundary_set_tp
 
- Public Types inherited from mysql::sets::Interval_set_interface< Interval_set_view< Boundary_set_tp >, Boundary_set_tp >
using Boundary_set_t = Boundary_set_tp
 
using This_t = Interval_set_interface< Self_t, Boundary_set_t >
 
using Set_category_t = Interval_set_category_tag
 
using Set_traits_t = Boundary_set_t::Set_traits_t
 
using Element_t = typename Set_traits_t::Element_t
 
using Make_interval_t = detail::Make_interval< Set_traits_t >
 
using Boundary_iterator_t = mysql::ranges::Range_iterator_type< Boundary_set_tp >
 
using Boundary_const_iterator_t = mysql::ranges::Range_const_iterator_type< Boundary_set_tp >
 
using Iterator_t = mysql::ranges::Disjoint_pairs_iterator< Boundary_iterator_t, Make_interval_t >
 
using Const_iterator_t = mysql::ranges::Disjoint_pairs_iterator< Boundary_const_iterator_t, Make_interval_t >
 
- Public Types inherited from mysql::ranges::Disjoint_pairs_interface< Self_tp, Make_pair_tp >
using Make_pair_t = Make_pair_tp
 

Public Member Functions

 Interval_set_view (const Boundary_set_t &boundaries)
 
const auto & boundaries () const
 
- Public Member Functions inherited from mysql::sets::Interval_set_interface< Interval_set_view< Boundary_set_tp >, Boundary_set_tp >
const auto & disjoint_pairs_source () const
 
auto & disjoint_pairs_source ()
 
- Public Member Functions inherited from mysql::ranges::Disjoint_pairs_interface< Self_tp, Make_pair_tp >
auto begin () const
 Return const iterator to the beginning. More...
 
auto end () const
 Return const iterator to sentinel. More...
 
auto begin ()
 Return iterator to the beginning. More...
 
auto end ()
 Return iterator to sentinel. More...
 
bool empty () const
 Return true if the range is empty. More...
 
bool empty () const
 Return true if the range is empty. More...
 
auto size () const
 Return the number of pairs, i.e., half the size of the source. More...
 
auto size () const
 Return the number of pairs, i.e., half the size of the source. More...
 
- 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...
 

Private Types

using Boundary_set_ref_t = mysql::ranges::View_source< Boundary_set_tp >
 

Private Attributes

const Boundary_set_ref_t m_boundaries
 

Detailed Description

template<Is_boundary_set Boundary_set_tp>
class mysql::sets::Interval_set_view< Boundary_set_tp >

View that provides and Interval set from an underlying Boundary set.

This a view, which does not own the underlying Boundary set. If you need to define a class that owns the underlying range, use Interval_set_interface.

Template Parameters
Boundary_set_tpUnderlying Boundary set.

Member Typedef Documentation

◆ Boundary_set_ref_t

template<Is_boundary_set Boundary_set_tp>
using mysql::sets::Interval_set_view< Boundary_set_tp >::Boundary_set_ref_t = mysql::ranges::View_source<Boundary_set_tp>
private

◆ Boundary_set_t

template<Is_boundary_set Boundary_set_tp>
using mysql::sets::Interval_set_view< Boundary_set_tp >::Boundary_set_t = Boundary_set_tp

Constructor & Destructor Documentation

◆ Interval_set_view()

template<Is_boundary_set Boundary_set_tp>
mysql::sets::Interval_set_view< Boundary_set_tp >::Interval_set_view ( const Boundary_set_t boundaries)
inlineexplicit

Member Function Documentation

◆ boundaries()

template<Is_boundary_set Boundary_set_tp>
const auto & mysql::sets::Interval_set_view< Boundary_set_tp >::boundaries ( ) const
inline

Member Data Documentation

◆ m_boundaries

template<Is_boundary_set Boundary_set_tp>
const Boundary_set_ref_t mysql::sets::Interval_set_view< Boundary_set_tp >::m_boundaries
private

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