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

True if Test is a nested set. More...

#include <nested_set_meta.h>

Concept definition

template<class Test>
requires(Test t, const Test ct, typename Test::Key_t k) {
{
t[k]
} -> Is_set_or_set_ref_over_category_and_traits<
typename Test::Set_traits_t::Mapped_category_t,
typename Test::Set_traits_t::Mapped_traits_t>;
{
ct[k]
} -> Is_set_or_set_ref_over_category_and_traits<
typename Test::Set_traits_t::Mapped_category_t,
typename Test::Set_traits_t::Mapped_traits_t>;
}
True if Test has a member Set_category_t satisfying Is_set_category.
Definition: set_categories.h:55
True if Test is a nested set.
Definition: nested_set_meta.h:110
True if Test is a set.
Definition: set_categories_and_traits.h:62
Common helper for Is_nested_set and Is_nested_storage.
Definition: nested_set_meta.h:64

Detailed Description

True if Test is a nested set.

Test must have the following type members:

  • Set_category_t: equal to Nested_set_category_tag
  • Set_traits_t: satisfies Is_nested_set_traits
  • Key_traits: equal to Set_traits_t::Key_traits_t
  • Mapped_traits_t: equal to Set_traits_t::Mapped_traits_t
  • Mapped_category_t: equal to Set_traits_t::Mapped_category_t
  • Key_t: equal to Set_traits_t::Key_traits_t::Element_t

Test must also satisfy the following concepts:

  • Is_set
  • Is_collection_over<pair<Test::Key_t, Test::Mapped_t>> (which requires a number of member functions;
    See also
    Is_collection_over)
    Additionally, test must support the following operations:
t[k]; // return the mapped set for key k, if k is a key
t.find(k); // return iterator to the pair with k as key, or to the end