MySQL 9.0.0
Source Code Documentation
gcs_group_identifier.h
Go to the documentation of this file.
1/* Copyright (c) 2014, 2024, 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 GCS_GROUP_IDENTIFIER_INCLUDED
25#define GCS_GROUP_IDENTIFIER_INCLUDED
26
27#include <string>
28
29/**
30 @class Gcs_group_identifier
31
32 This represents the unique identification of a group. The group uniqueness is
33 relevant since it is the destination of data. Thus, it cannot be ambiguous.
34*/
36 public:
37 /**
38 Gcs_group_identifier constructor.
39
40 @param[in] group_id the group identifier
41 */
42
43 explicit Gcs_group_identifier(const std::string &group_id);
44
45 /**
46 @return the group identifier
47 */
48
49 const std::string &get_group_id() const;
50
51 /**
52 Redefinition of the operator less, to allow usage as key in maps.
53
54 @param[in] other the Gcs_group_identifier to compare to
55
56 @return the result of comparing internal representation with the
57 compare operation from the string object
58 */
59
60 bool operator<(const Gcs_group_identifier &other) const;
61
62 /**
63 Redefinition of the operator equals, to allow usage in sets.
64
65 @param[in] other the Gcs_group_identifier to compare to
66
67 @return the result of comparing internal representation with the
68 compare operation from the string object
69 */
70
71 bool operator==(const Gcs_group_identifier &other) const;
72
73 private:
74 std::string group_id;
75};
76
77#endif // GCS_GROUP_IDENTIFIER_INCLUDED
This represents the unique identification of a group.
Definition: gcs_group_identifier.h:35
Gcs_group_identifier(const std::string &group_id)
Gcs_group_identifier constructor.
Definition: gcs_group_identifier.cc:26
bool operator==(const Gcs_group_identifier &other) const
Redefinition of the operator equals, to allow usage in sets.
Definition: gcs_group_identifier.cc:38
bool operator<(const Gcs_group_identifier &other) const
Redefinition of the operator less, to allow usage as key in maps.
Definition: gcs_group_identifier.cc:34
const std::string & get_group_id() const
Definition: gcs_group_identifier.cc:29
std::string group_id
Definition: gcs_group_identifier.h:74