24#ifndef MYSQL_SETS_INT_SET_TRAITS_H
25#define MYSQL_SETS_INT_SET_TRAITS_H
52template <std::integral Element_tp,
53 Element_tp min_tp = std::numeric_limits<Element_tp>::min(),
57 Int_set_traits<Element_tp, min_tp, max_exclusive_tp>, Element_tp,
58 std::make_unsigned_t<Element_tp>> {
61 std::make_unsigned_t<Element_tp>>;
72 return max_exclusive_tp;
82 [[nodiscard]]
static constexpr std::strong_ordering
cmp_impl(
84 return left <=>
right;
98static_assert(Is_discrete_metric_set_traits<Int_set_traits<int>>);
void right(std::string *to_trim)
Definition: trim.h:41
void left(std::string *to_trim)
Definition: trim.h:35
ValueType max(X &&first)
Definition: gtid.h:103
Definition: gtid_set.h:183
Set traits for integral types.
Definition: int_set_traits.h:58
Base_t::Difference_t Difference_t
Definition: int_set_traits.h:63
static constexpr Element_t max_exclusive()
Definition: int_set_traits.h:71
Base_t::Element_t Element_t
Definition: int_set_traits.h:62
static constexpr std::strong_ordering cmp_impl(const Element_t &left, const Element_t &right)
Definition: int_set_traits.h:82
static constexpr Element_t next(const Element_t &element)
Definition: int_set_traits.h:88
static constexpr Element_t min()
Return the minimum allowed value.
Definition: int_set_traits.h:66
static constexpr Element_t prev(const Element_t &element)
Definition: int_set_traits.h:93
static constexpr bool lt_impl(const Element_t &left, const Element_t &right)
Definition: int_set_traits.h:76
Helper CRTP base class to define Ordered Set traits classes, which are optionally Bounded and/or Metr...
Definition: ordered_set_traits_interface.h:90
Element_tp Element_t
Definition: ordered_set_traits_interface.h:104
Difference_tp Difference_t
Definition: ordered_set_traits_interface.h:105