ICU 77.1  77.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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:
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. More...
 
std::vector< VariableNamegetSelectors () const
 Accesses the selectors. More...
 
std::vector< VariantgetVariants () const
 Accesses the variants. More...
 
const PatterngetPattern () const
 Accesses the pattern (in a message without selectors). More...
 
 MFDataModel ()
 Default constructor. More...
 
MFDataModeloperator= (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
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 2395 of file messageformat2_data_model.h.

Field Documentation

◆ 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: