ICU 77.1  77.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Friends
icu::message2::data_model::Operand Class Reference

The Operand class corresponds to the operand 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>

Inheritance diagram for icu::message2::data_model::Operand:
icu::UObject icu::UMemory

Public Member Functions

UBool isVariable () const
 Determines if this operand represents a variable. More...
 
UBool isLiteral () const
 Determines if this operand represents a literal. More...
 
virtual UBool isNull () const
 Determines if this operand is the null operand. More...
 
const UnicodeStringasVariable () const
 Returns a reference to this operand's variable name. More...
 
const LiteralasLiteral () const
 Returns a reference to this operand's literal contents. More...
 
 Operand ()
 Default constructor. More...
 
 Operand (const UnicodeString &v)
 Variable operand constructor. More...
 
 Operand (const Literal &l)
 Literal operand constructor. More...
 
virtual Operandoperator= (Operand) noexcept
 Assignment operator. More...
 
 Operand (const Operand &)
 Copy constructor. More...
 
virtual ~Operand ()
 Destructor. More...
 
- Public Member Functions inherited from icu::UObject
virtual ~UObject ()
 Destructor. More...
 
virtual UClassID getDynamicClassID () const
 ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. More...
 

Friends

void swap (Operand &o1, Operand &o2) noexcept
 Non-member swap function. More...
 

Detailed Description

The Operand class corresponds to the operand nonterminal in the MessageFormat 2 grammar, https://github.com/unicode-org/message-format-wg/blob/main/spec/message.abnf .

It represents a Literal | VariableRef – see the operand? field of the FunctionRef interface defined at: https://github.com/unicode-org/message-format-wg/blob/main/spec/data-model.md#expressions with the difference that it can also represent a null operand (the absent operand in an annotation with no operand).

Operand is immutable and is copyable and movable.

Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

Definition at line 256 of file messageformat2_data_model.h.

Constructor & Destructor Documentation

◆ Operand() [1/4]

icu::message2::data_model::Operand::Operand ( )
inline

Default constructor.

Creates a null Operand.

Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

Definition at line 312 of file messageformat2_data_model.h.

◆ Operand() [2/4]

icu::message2::data_model::Operand::Operand ( const UnicodeString v)
inlineexplicit

Variable operand constructor.

Parameters
vThe variable name; an operand corresponding to a reference to v is returned.
Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

Definition at line 322 of file messageformat2_data_model.h.

◆ Operand() [3/4]

icu::message2::data_model::Operand::Operand ( const Literal l)
inlineexplicit

Literal operand constructor.

Parameters
lThe literal to use for this operand; an operand corresponding to l is returned.
Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

Definition at line 332 of file messageformat2_data_model.h.

◆ Operand() [4/4]

icu::message2::data_model::Operand::Operand ( const Operand )

Copy constructor.

Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

◆ ~Operand()

virtual icu::message2::data_model::Operand::~Operand ( )
virtual

Destructor.

Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

Member Function Documentation

◆ asLiteral()

const Literal& icu::message2::data_model::Operand::asLiteral ( ) const

Returns a reference to this operand's literal contents.

Precondition: isLiteral()

Returns
A reference to the literal
Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

◆ asVariable()

const UnicodeString& icu::message2::data_model::Operand::asVariable ( ) const

Returns a reference to this operand's variable name.

Precondition: isVariable()

Returns
A reference to the name of the variable
Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

◆ isLiteral()

UBool icu::message2::data_model::Operand::isLiteral ( ) const

Determines if this operand represents a literal.

Returns
True if and only if the operand is a literal.
Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

◆ isNull()

virtual UBool icu::message2::data_model::Operand::isNull ( ) const
virtual

Determines if this operand is the null operand.

Returns
True if and only if the operand is the null operand.
Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

◆ isVariable()

UBool icu::message2::data_model::Operand::isVariable ( ) const

Determines if this operand represents a variable.

Returns
True if and only if the operand is a variable.
Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

◆ operator=()

virtual Operand& icu::message2::data_model::Operand::operator= ( Operand  )
virtualnoexcept

Assignment operator.

Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

Friends And Related Function Documentation

◆ swap

void swap ( Operand o1,
Operand o2 
)
friend

Non-member swap function.

Parameters
o1will get o2's contents
o2will get o1's contents
Internal:
Do not use. This API is for internal use only. ICU 75 technology preview
Deprecated:
This API is for technology preview only.

Definition at line 341 of file messageformat2_data_model.h.


The documentation for this class was generated from the following file: