ICU 76.1 76.1
|
The Key
class corresponds to the key
nonterminal in the MessageFormat 2 grammar, https://github.com/unicode-org/message-format-wg/blob/main/spec/message.abnf .
More...
#include <messageformat2_data_model.h>
Public Member Functions | |
UBool | isWildcard () const |
Determines if this is a wildcard key. | |
const Literal & | asLiteral () const |
Returns the contents of this key as a literal. | |
Key (const Key &other) | |
Copy constructor. | |
Key () | |
Wildcard constructor; constructs a Key representing the catchall or wildcard key, '*'. | |
Key (const Literal &lit) | |
Literal key constructor. | |
Key & | operator= (Key) noexcept |
Assignment operator. | |
bool | operator< (const Key &other) const |
Less than operator. | |
bool | operator== (const Key &other) const |
Equality operator. | |
virtual | ~Key () |
Destructor. | |
![]() | |
virtual | ~UObject () |
Destructor. | |
virtual UClassID | getDynamicClassID () const |
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. | |
Friends | |
void | swap (Key &k1, Key &k2) noexcept |
Non-member swap function. | |
The Key
class corresponds to the key
nonterminal in the MessageFormat 2 grammar, https://github.com/unicode-org/message-format-wg/blob/main/spec/message.abnf .
It also corresponds to the Literal | CatchallKey
that is the element type of the keys
array in the Variant
interface defined in https://github.com/unicode-org/message-format-wg/blob/main/spec/data-model.md#messages
A key is either a literal or the wildcard symbol (represented in messages as '*')
Key
is immutable, copyable and movable.
Definition at line 385 of file messageformat2_data_model.h.
|
inline |
Copy constructor.
Definition at line 412 of file messageformat2_data_model.h.
|
inline |
Wildcard constructor; constructs a Key representing the catchall or wildcard key, '*'.
Definition at line 420 of file messageformat2_data_model.h.
|
inlineexplicit |
Literal key constructor.
lit | A Literal to use for this key. The result matches the literal lit . |
Definition at line 430 of file messageformat2_data_model.h.
|
virtual |
Destructor.
const Literal & icu::message2::data_model::Key::asLiteral | ( | ) | const |
Returns the contents of this key as a literal.
Precondition: !isWildcard()
|
inline |
Determines if this is a wildcard key.
Definition at line 395 of file messageformat2_data_model.h.
bool icu::message2::data_model::Key::operator< | ( | const Key & | other | ) | const |
Less than operator.
Compares the literal of this
with the literal of other
. This method is used in representing the mapping from key lists to patterns in a message with variants, and is not expected to be useful otherwise.
other | The Key to compare to this one. |
Key
s are not wildcards and if this.asLiteral()
< other.asLiteral()
. Returns false otherwise.Assignment operator.
bool icu::message2::data_model::Key::operator== | ( | const Key & | other | ) | const |
Equality operator.
Compares the literal of this
with the literal of other
. This method is used in representing the mapping from key lists to patterns in a message with variants, and is not expected to be useful otherwise.
other | The Key to compare to this one. |
Key
s are wildcards, or this.asLiteral()
== other.asLiteral()
. Returns false otherwise.Non-member swap function.
k1 | will get k2's contents |
k2 | will get k1's contents |
Definition at line 439 of file messageformat2_data_model.h.