MySQL 9.6.0
Source Code Documentation
nested_set_traits.h
Go to the documentation of this file.
1// Copyright (c) 2025, Oracle and/or its affiliates.
2//
3// This program is free software; you can redistribute it and/or modify
4// it under the terms of the GNU General Public License, version 2.0,
5// as published by the Free Software Foundation.
6//
7// This program is designed to work with certain software (including
8// but not limited to OpenSSL) that is licensed under separate terms,
9// as designated in a particular file or component or in included license
10// documentation. The authors of MySQL hereby grant you an additional
11// permission to link the program and your derivative works with the
12// separately licensed software that they have either included with
13// the program or referenced in the documentation.
14//
15// This program is distributed in the hope that it will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18// GNU General Public License, version 2.0, for more details.
19//
20// You should have received a copy of the GNU General Public License
21// along with this program; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23
24#ifndef MYSQL_SETS_NESTED_SET_TRAITS_H
25#define MYSQL_SETS_NESTED_SET_TRAITS_H
26
27/// @file
28/// Experimental API header
29
30#include "mysql/sets/set_categories.h" // Is_set_category
31#include "mysql/sets/set_traits.h" // Is_ordered_set_traits
32
33/// @addtogroup GroupLibsMysqlSets
34/// @{
35
36namespace mysql::sets {
37
38/// Set traits for Nested sets
39///
40/// @tparam Key_traits_tp Traits for the key type. This must satisfy
41/// Ordered_set_traits.
42///
43/// @tparam Mapped_traits_tp Traits for the mapped type.
44///
45/// @tparam Mapped_category_tp Category for the mapped type.
46template <Is_ordered_set_traits Key_traits_tp, Is_set_traits Mapped_traits_tp,
47 Is_set_category Mapped_category_tp>
49 using Key_traits_t = Key_traits_tp;
50 using Mapped_category_t = Mapped_category_tp;
51 using Mapped_traits_t = Mapped_traits_tp;
52 using Key_t = Key_traits_tp::Element_t;
53};
54
55} // namespace mysql::sets
56
57// addtogroup GroupLibsMysqlSets
58/// @}
59
60#endif // ifndef MYSQL_SETS_NESTED_SET_TRAITS_H
Definition: gtid_set.h:183
Experimental API header.
Experimental API header.
Base class for all Set_traits classes.
Definition: set_traits.h:46
Set traits for Nested sets.
Definition: nested_set_traits.h:48
Mapped_traits_tp Mapped_traits_t
Definition: nested_set_traits.h:51
Key_traits_tp::Element_t Key_t
Definition: nested_set_traits.h:52
Mapped_category_tp Mapped_category_t
Definition: nested_set_traits.h:50
Key_traits_tp Key_traits_t
Definition: nested_set_traits.h:49