MySQL 9.6.0
Source Code Documentation
mysql::sets::Is_upper_lower_bound_implementation Concept Reference

True if Test satisfies the requirements for being a subclass of Upper_lower_bound_interface. More...

#include <upper_lower_bound_interface.h>

Concept definition

template<class Test, class Iterator_t, class Const_iterator_t, class Element_t>
std::forward_iterator<Iterator_t> &&
std::forward_iterator<Const_iterator_t> &&
requires(Test implementation, const Test const_implementation,
Iterator_t iterator, Const_iterator_t const_iterator,
Element_t element) {
{ implementation.begin() } -> std::same_as<Iterator_t>;
{ implementation.end() } -> std::same_as<Iterator_t>;
{ const_implementation.begin() } -> std::same_as<Const_iterator_t>;
{ const_implementation.end() } -> std::same_as<Const_iterator_t>;
} &&
detail::Has_lower_bound_impl<Test, Iterator_t, Element_t> &&
detail::Has_lower_bound_impl<const Test, Const_iterator_t, Element_t> &&
detail::Has_upper_bound_impl<Test, Iterator_t, Element_t> &&
detail::Has_upper_bound_impl<const Test, Const_iterator_t, Element_t>
True if Test satisfies the requirements for being a subclass of Upper_lower_bound_interface.
Definition: upper_lower_bound_interface.h:158

Detailed Description

True if Test satisfies the requirements for being a subclass of Upper_lower_bound_interface.

It must define the following member functions. In each prototype, the hint parameter may be omitted.

// Iterator to the first element.
Iterator_t begin() const;
// Iterator to sentinel.
Iterator_t end() const;
// Return an iterator to the smallest element greater than or equal to
// `element` in `self`, with the hint that the correct answer is greater
// than or equal to `*hint`.
static constexpr Iterator_t
lower_bound_impl(Test &self, const Iterator_t &hint,
const Element_t &element);
// See above. This is the const version. (Can usually have a common
// implementation using `auto` for the first parameter.)
static constexpr Const_iterator_t
lower_bound_impl(const Test &self, const Const_iterator_t &hint,
const Element_t &element);
// Return an iterator to the smallest element strictly greater than
// `element` in `self`, with the hint that the correct answer is greater
// than or equal to `*hint`.
static constexpr Iterator_t
upper_bound_impl(Test &self, const Iterator_t &hint,
const Element_t &element);
// See above. This is the const version. (Can usually have a common
// implementation using `auto` for the first parameter.)
static constexpr Const_iterator_t
upper_bound_impl(const Test &self, const Const_iterator_t &hint,
const Element_t &element);
const char * begin(const char *const c)
Definition: base64.h:44
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192