24#ifndef MYSQL_SETS_BOUNDARY_SET_INTERFACE_H
25#define MYSQL_SETS_BOUNDARY_SET_INTERFACE_H
67template <
class Self_tp, Is_boundary_iterator Iterator_tp,
68 Is_boundary_iterator Const_iterator_tp,
69 Is_bounded_set_traits Set_traits_tp>
79 using Element_t =
typename Set_traits_tp::Element_t;
105 Const_iterator_tp, Set_traits_tp>,
106 public std::ranges::view_base {};
120template <
class Self_tp,
class Wrapped_tp,
121 mysql::utils::Shall_catch shall_catch_tp =
122 mysql::utils::Shall_catch::no>
126 Self_tp, mysql::ranges::Range_iterator_type<Wrapped_tp>,
127 mysql::ranges::Range_const_iterator_type<Wrapped_tp>,
128 typename Wrapped_tp::Set_traits_t> {
135 template <
class... Args_t>
CRTP base class (mixin) to define a wrapper around a container.
Definition: basic_container_wrapper.h:59
CRTP base class to provide members of a collection based on an implementation that provides begin/end...
Definition: collection_interface.h:90
CRTP base class/mixin, used to implement Boundary Sets that are container wrappers.
Definition: boundary_set_interface.h:128
Basic_boundary_container_wrapper & operator=(Basic_boundary_container_wrapper &&source) noexcept=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(const Basic_boundary_container_wrapper &source)=default
Basic_boundary_container_wrapper< Self_tp, Wrapped_tp, shall_catch_tp > This_t
Definition: boundary_set_interface.h:132
~Basic_boundary_container_wrapper()=default
Basic_boundary_container_wrapper(Args_t &&...args)
Definition: boundary_set_interface.h:137
Definition: basic_set_container_wrapper.h:47
CRTP base class/mixin, used to implement Boundary Sets that are views.
Definition: boundary_set_interface.h:106
CRTP base class (mixin) to define a set that has upper_bound and lower_bound members.
Definition: upper_lower_bound_interface.h:193
CRTP base class used to implement Boundary Sets.
Definition: boundary_set_interface.h:73
Iterator_tp Iterator_t
Definition: boundary_set_interface.h:75
Set_traits_tp Set_traits_t
Definition: boundary_set_interface.h:78
typename Set_traits_tp::Element_t Element_t
Definition: boundary_set_interface.h:79
Const_iterator_tp Const_iterator_t
Definition: boundary_set_interface.h:76
True if Test is a boundary point iterator, i.e.
Definition: boundary_set_meta.h:83
True if Test is a "bounded" Set traits class.
Definition: set_traits.h:105
Definition: gtid_set.h:183
Define std::hash<Gtid>.
Definition: gtid.h:355
repeated Source source
Definition: replication_asynchronous_connection_failover.proto:42
Tag to identify a class as a Boundary set.
Definition: boundary_set_category.h:41