24#ifndef MYSQL_SETS_INTERVAL_SET_BINARY_OPERATION_VIEW_BASE_H
25#define MYSQL_SETS_INTERVAL_SET_BINARY_OPERATION_VIEW_BASE_H
49template <Is_interval_set Source1_tp, Is_interval_set Source2_tp,
51 requires Is_compatible_set<Source1_tp, Source2_tp>
54 Interval_set_binary_operation_view_base<Source1_tp, Source2_tp,
56 Binary_operation_view_type<operation_tp,
57 typename Source1_tp::Boundary_set_t,
58 typename Source2_tp::Boundary_set_t>> {
68 typename Source1_tp::Boundary_set_t,
69 typename Source2_tp::Boundary_set_t>;
Kerberos Client Authentication nullptr
Definition: auth_kerberos_client_plugin.cc:247
CRTP base class used to define an Interval set based on an implementation having the member function ...
Definition: interval_set_interface.h:87
Common base class for the specializations of Union_view, Intersection_view, and Subtraction_view for ...
Definition: interval_set_binary_operation_view_base.h:58
Boundary_set_binary_operation_view_t m_boundaries
Boundary binary operation view over the boundary sets of the given interval sets.
Definition: interval_set_binary_operation_view_base.h:113
Interval_set_binary_operation_view_base(Interval_set_binary_operation_view_base &&) noexcept=default
Binary_operation_view_type< operation_tp, typename Source1_tp::Boundary_set_t, typename Source2_tp::Boundary_set_t > Boundary_set_binary_operation_view_t
Definition: interval_set_binary_operation_view_base.h:69
static constexpr auto operation
Definition: interval_set_binary_operation_view_base.h:62
Interval_set_binary_operation_view_base()=default
Construct a new, empty view.
Interval_set_binary_operation_view_base(const Source1_t *source1, const Source2_t *source2)
Construct a new view over the two given interval set sources.
Definition: interval_set_binary_operation_view_base.h:91
const auto & boundaries() const
Return the boundary set.
Definition: interval_set_binary_operation_view_base.h:108
typename Source1_t::Set_traits_t Set_traits_t
Definition: interval_set_binary_operation_view_base.h:65
Interval_set_binary_operation_view_base(const Source1_t &source1, const Source2_t &source2)
Construct a new view over the two given interval set sources.
Definition: interval_set_binary_operation_view_base.h:79
Source1_tp Source1_t
Definition: interval_set_binary_operation_view_base.h:60
Interval_set_binary_operation_view_base(const Interval_set_binary_operation_view_base &) noexcept=default
Source2_tp Source2_t
Definition: interval_set_binary_operation_view_base.h:61
Binary_operation
Identifies the type of a binary operation.
Definition: binary_operation.h:37
std::conditional_t<(int) binary_operation==(int) Binary_operation::op_union, Union_view< Source1_t, Source2_t >, std::conditional_t<(int) binary_operation==(int) Binary_operation::op_intersection, Intersection_view< Source1_t, Source2_t >, std::conditional_t<(int) binary_operation==(int) Binary_operation::op_subtraction, Subtraction_view< Source1_t, Source2_t >, void > > > Binary_operation_view_type
For a Binary_operation and two operand sets, gives the corresponding Union_view, Intersection_view,...
Definition: base_binary_operation_views.h:91
noexcept
The return type for any call_and_catch(f, args...) call where f(args...) returns Type.
Definition: call_and_catch.h:76