24#ifndef MYSQL_SETS_INTERVAL_SET_PREDICATES_H
25#define MYSQL_SETS_INTERVAL_SET_PREDICATES_H
43template <Is_
interval_set Interval_set_t>
45 const Interval_set_t &
set,
46 const typename Interval_set_t::Element_t &element) {
56template <Is_bounded_set_traits Set_traits_t>
60 return is_subset(interval1, set2.boundaries());
67template <Is_bounded_set_traits Set_traits_t>
71 return is_subset(set1.boundaries(), interval2);
79template <Is_
interval_set Interval_set1_tp, Is_
interval_set Interval_set2_tp>
80 requires Is_compatible_set<Interval_set1_tp, Interval_set2_tp>
81[[nodiscard]]
constexpr bool is_subset(
const Interval_set1_tp &set1,
82 const Interval_set2_tp &set2) {
83 return is_subset(set1.boundaries(), set2.boundaries());
92template <Is_bounded_set_traits Set_traits_t>
103template <Is_bounded_set_traits Set_traits_t>
114template <Is_
interval_set Interval_set1_tp, Is_
interval_set Interval_set2_tp>
115 requires Is_compatible_set<Interval_set1_tp, Interval_set2_tp>
117 const Interval_set2_tp &set2) {
Holds the start boundary and endpoint boundary of an interval.
Definition: interval.h:178
Definition: interval_set_meta.h:90
static int interval
Definition: mysqladmin.cc:72
Definition: gtid_set.h:183
constexpr bool is_subset(const Interval< Set_traits_t > &interval1, const Is_boundary_set_over_traits< Set_traits_t > auto &set2)
Return true if the left Interval is a subset of or equal to the right Boundary_set.
Definition: boundary_set_predicates.h:58
bool contains_element(const mysql::gtids::Is_gtid_set auto >id_set, const mysql::gtids::Is_gtid auto >id) noexcept
contains_element for Gtid_sets, accepting a Gtid for the element.
Definition: gtid_set.h:186
constexpr bool is_intersecting(const Interval< Set_traits_t > &interval, const Is_boundary_set_over_traits< Set_traits_t > auto &set)
Return true if the left Interval and the right Boundary set intersect (overlap).
Definition: boundary_set_predicates.h:121
std::set< Key, Compare, ut::allocator< Key > > set
Specialization of set which uses ut_allocator.
Definition: ut0new.h:2888