ICU 76.1 76.1
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:
icu::UMemory

Data Structures

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

Public Member Functions

std::vector< BindinggetLocalVariables () const
 Accesses the local variable declarations for this data model.
 
const std::vector< ExpressiongetSelectors () const
 Accesses the selectors.
 
std::vector< VariantgetVariants () const
 Accesses the variants.
 
const PatterngetPattern () const
 Accesses the pattern (in a message without selectors).
 
 MFDataModel ()
 Default constructor.
 
MFDataModeloperator= (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
m1will get m2's contents
m2will 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: