ICU 76.1: icu::message2::data_model::Operand Class Reference

ICU 76.1 76.1

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:

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

## Friends
void | swap (Operand &o1, Operand &o2) noexcept
| Non-member swap function.

## 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 254 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 310 of file messageformat2_data_model.h.

## ◆ Operand() [2/4]

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

Variable operand constructor.

Parameters

  v | The 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 320 of file messageformat2_data_model.h.

## ◆ Operand() [3/4]

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

Literal operand constructor.

Parameters

  l | The 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 330 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 Symbol Documentation

## ◆ swap

void swap | ( | Operand & | o1,
|  | Operand & | o2 )
| friend

Non-member swap function.

Parameters

  o1 | will get o2's contents
  o2 | will 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 339 of file messageformat2_data_model.h.

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

- i18n/unicode/messageformat2_data_model.h