ICU 76.1: icu::message2::MFDataModel Class Reference

ICU 76.1 76.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.
const std::vector< Expression > | getSelectors () const
| Accesses the selectors.
std::vector< Variant > | getVariants () const
| Accesses the variants.
const Pattern & | getPattern () const
| Accesses the pattern (in a message without selectors).
| MFDataModel ()
| Default constructor.
MFDataModel & | operator= (MFDataModel) noexcept
| Assignment operator.
| MFDataModel (const MFDataModel &other)
| Copy constructor.
virtual | ~MFDataModel ()
| Destructor.

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

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

## 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 2272 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 2316 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()

const std::vector< Expression > 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 2331 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 2347 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 Symbol Documentation

## ◆ Checker

friend class Checker
| friend

Definition at line 2548 of file messageformat2_data_model.h.

## ◆ MessageFormatter

friend class MessageFormatter
| friend

Definition at line 2549 of file messageformat2_data_model.h.

## ◆ Serializer

friend class Serializer
| friend

Definition at line 2550 of file messageformat2_data_model.h.

## ◆ 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 2393 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 2375 of file messageformat2_data_model.h.

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

- i18n/unicode/messageformat2_data_model.h