24#ifndef MYSQL_SETS_INTERVAL_SET_COMPLEMENT_VIEW_H
25#define MYSQL_SETS_INTERVAL_SET_COMPLEMENT_VIEW_H
46template <Is_
interval_set Source_tp>
47class Complement_view<Source_tp>
48 :
public Interval_set_interface<
49 Complement_view<Source_tp>,
50 Complement_view<typename Source_tp::Boundary_set_t>> {
71 [[nodiscard]]
decltype(
auto)
source()
const {
return m_source.get(); }
typename Source_t::Set_traits_t Set_traits_t
Definition: boundary_set_complement_view.h:55
typename Source_tp::Boundary_set_t Source_boundary_set_t
Definition: interval_set_complement_view.h:55
decltype(auto) source() const
Return reference to the source interval set that this is the complement of.
Definition: interval_set_complement_view.h:71
Complement_view(const Source_t &source)
Construct a new interval complement view over the given interval set.
Definition: interval_set_complement_view.h:60
const Complement_boundary_set_t & boundaries() const
Return the boundary set.
Definition: interval_set_complement_view.h:64
Opt_source_t m_source
The source interval set, that this is the complement of.
Definition: interval_set_complement_view.h:79
Source_tp Source_t
Definition: boundary_set_complement_view.h:54
const Complement_boundary_set_t m_boundaries
Boundary complement view over the boundary set for the given interval set.
Definition: interval_set_complement_view.h:76
This can be specialized to specific set categories, e.g.
Definition: base_complement_view.h:43
Definition: gtid_set.h:183
repeated Source source
Definition: replication_asynchronous_connection_failover.proto:42