ICU 77.1: icu::message2::MFDataModel Class Reference

ICU 77.1 77.1

Data Structures | Public Member Functions | Data Fields | Friends
icu::message2::MFDataModel Class Reference

The `MFDataModel` class describes a parsed representation of the text of a message. More...

`#include <messageformat2_data_model.h>`

Inheritance diagram for icu::message2::MFDataModel:

## Data Structures
class | Builder
| The mutable `MFDataModel::Builder` class allows the data model to be constructed incrementally. More...

## Public Member Functions
std::vector< Binding > | getLocalVariables () const
| Accesses the local variable declarations for this data model. More...
std::vector< VariableName > | getSelectors () const
| Accesses the selectors. More...
std::vector< Variant > | getVariants () const
| Accesses the variants. More...
const Pattern & | getPattern () const
| Accesses the pattern (in a message without selectors). More...
| MFDataModel ()
| Default constructor. More...
MFDataModel & | operator= (MFDataModel) noexcept
| Assignment operator. More...
| MFDataModel (const MFDataModel &other)
| Copy constructor. More...
virtual | ~MFDataModel ()
| Destructor. More...

## Data Fields
class U_I18N_API | Builder
| The mutable `MFDataModel::Builder` class allows the data model to be constructed incrementally. More...

## Friends
class | Checker
class | MessageFormatter
class | Serializer
void | swap (MFDataModel &m1, MFDataModel &m2) noexcept
| Non-member swap function. More...

## Detailed Description

The `MFDataModel` class describes a parsed representation of the text of a message.

This representation is public as higher-level APIs for messages will need to know its public interface: for example, to re-instantiate a parsed message with different values for imported variables.

The MFDataModel API implements the specification of the abstract syntax (data model representation) for MessageFormat.

`MFDataModel` is immutable, 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 2274 of file messageformat2_data_model.h.

## Constructor & Destructor Documentation

## ◆ MFDataModel() [1/2]

icu::message2::MFDataModel::MFDataModel | ( |  | ) |

Default constructor.

Puts the MFDataModel into a valid but undefined state.

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

Deprecated:
  This API is for technology preview only.

## ◆ MFDataModel() [2/2]

icu::message2::MFDataModel::MFDataModel | ( | const MFDataModel & | other | ) |

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.

## ◆ ~MFDataModel()

virtual icu::message2::MFDataModel::~MFDataModel | ( |  | ) |
| 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

## ◆ getLocalVariables()

std::vector<Binding> icu::message2::MFDataModel::getLocalVariables | ( |  | ) | const
| inline

Accesses the local variable declarations for this data model.

Returns
  A vector of bindings for local variables.

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 2318 of file messageformat2_data_model.h.

## ◆ getPattern()

const Pattern& icu::message2::MFDataModel::getPattern | ( |  | ) | const

Accesses the pattern (in a message without selectors).

Returns a reference to an empty pattern if the message has selectors.

Returns
  A reference to the pattern.

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

Deprecated:
  This API is for technology preview only.

## ◆ getSelectors()

std::vector<VariableName> icu::message2::MFDataModel::getSelectors | ( |  | ) | const
| inline

Accesses the selectors.

Returns an empty vector if this is a pattern message.

Returns
  A vector of selectors.

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 2333 of file messageformat2_data_model.h.

## ◆ getVariants()

std::vector<Variant> icu::message2::MFDataModel::getVariants | ( |  | ) | const
| inline

Accesses the variants.

Returns an empty vector if this is a pattern message.

Returns
  A vector of variants.

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 2349 of file messageformat2_data_model.h.

## ◆ operator=()

MFDataModel& icu::message2::MFDataModel::operator= | ( | MFDataModel |  | ) |
| noexcept

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 | ( | MFDataModel & | m1,
|  | MFDataModel & | m2
| ) |  |
| friend

Non-member swap function.

Parameters

  m1 | will get m2's contents
  m2 | will get m1'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 2395 of file messageformat2_data_model.h.

## Field Documentation

## ◆ Builder

class U_I18N_API icu::message2::MFDataModel::Builder

The mutable `MFDataModel::Builder` class allows the data model to be constructed incrementally.

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 2368 of file messageformat2_data_model.h.

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

- i18n/unicode/messageformat2_data_model.h