MySQL 9.6.0
Source Code Documentation
mysql::sets::Const_boundary_view< Set_traits_tp, boundaries > Class Template Reference

Boundary set view for which the values are defined at compile-time. More...

#include <boundary_set_const_views.h>

Inheritance diagram for mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >:
[legend]

Public Types

using Set_traits_t = Set_traits_tp
 
using Element_t = typename Set_traits_t::Element_t
 
using Less_t = typename Set_traits_t::Less_t
 
using Iterator_t = detail::Const_boundary_view_iterator< Set_traits_tp, boundaries... >
 
using Const_iterator_t = Iterator_t
 
- Public Types inherited from mysql::sets::detail::Boundary_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 = Boundary_set_category_tag
 
using Set_traits_t = Set_traits_tp
 
using Element_t = typename Set_traits_tp::Element_t
 
- Public Types inherited from mysql::sets::Upper_lower_bound_interface< Self_tp, Set_traits_tp, Iterator_tp, Const_iterator_tp, Iterator_get_value >
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
 

Public Member Functions

auto begin () const
 
auto end () const
 
- 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::Upper_lower_bound_interface< Self_tp, Set_traits_tp, Iterator_tp, Const_iterator_tp, Iterator_get_value >
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...
 

Static Public Member Functions

template<class Iter_t >
static constexpr Iter_t upper_bound_impl (mysql::meta::Is_same_ignore_const< This_t > auto &self, const Iter_t &hint, const Element_t &element)
 Only for internal use by the CRTP base class. More...
 
template<class Iter_t >
static constexpr Iter_t lower_bound_impl (mysql::meta::Is_same_ignore_const< This_t > auto &self, const Iter_t &hint, const Element_t &element)
 Only for internal use by the CRTP base class. More...
 
- Static Public Member Functions inherited from mysql::sets::Upper_lower_bound_interface< Self_tp, Set_traits_tp, Iterator_tp, Const_iterator_tp, Iterator_get_value >
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...
 

Private Types

using This_t = Const_boundary_view< Set_traits_tp, boundaries... >
 

Detailed Description

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
class mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >

Boundary set view for which the values are defined at compile-time.

Template Parameters
Set_traits_tpBounded set traits for the set type.
boundariesValues of all boundaries. This must have an even number of elements.

Member Typedef Documentation

◆ Const_iterator_t

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
using mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >::Const_iterator_t = Iterator_t

◆ Element_t

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
using mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >::Element_t = typename Set_traits_t::Element_t

◆ Iterator_t

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
using mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >::Iterator_t = detail::Const_boundary_view_iterator<Set_traits_tp, boundaries...>

◆ Less_t

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
using mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >::Less_t = typename Set_traits_t::Less_t

◆ Set_traits_t

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
using mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >::Set_traits_t = Set_traits_tp

◆ This_t

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
using mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >::This_t = Const_boundary_view<Set_traits_tp, boundaries...>
private

Member Function Documentation

◆ begin()

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
auto mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >::begin ( ) const
inline
Returns
Iterator to the beginning.

◆ end()

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
auto mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >::end ( ) const
inline
Returns
Iterator to the end.

◆ lower_bound_impl()

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
template<class Iter_t >
static constexpr Iter_t mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >::lower_bound_impl ( mysql::meta::Is_same_ignore_const< This_t > auto &  self,
const Iter_t &  hint,
const Element_t element 
)
inlinestaticconstexpr

Only for internal use by the CRTP base class.

Return the lower bound for the given element in this object.

◆ upper_bound_impl()

template<Is_bounded_set_traits Set_traits_tp, typename Set_traits_tp::Element_t... boundaries>
template<class Iter_t >
static constexpr Iter_t mysql::sets::Const_boundary_view< Set_traits_tp, boundaries >::upper_bound_impl ( mysql::meta::Is_same_ignore_const< This_t > auto &  self,
const Iter_t &  hint,
const Element_t element 
)
inlinestaticconstexpr

Only for internal use by the CRTP base class.

Return the upper bound for the given element in this object.


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