6#ifndef MESSAGEFORMAT2_ARGUMENTS_H
7#define MESSAGEFORMAT2_ARGUMENTS_H
9#if U_SHOW_CPLUSPLUS_API
11#if !UCONFIG_NO_NORMALIZATION
13#if !UCONFIG_NO_FORMATTING
22#include "unicode/messageformat2_data_model_names.h"
23#include "unicode/messageformat2_formattable.h"
26#ifndef U_HIDE_DEPRECATED_API
38#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
39template class U_I18N_API LocalPointerBase<UnicodeString>;
40template class U_I18N_API LocalPointerBase<message2::Formattable>;
41template class U_I18N_API LocalArray<UnicodeString>;
42template class U_I18N_API LocalArray<message2::Formattable>;
48 class MessageFormatter;
80 if (!argumentNames.isValid() || !arguments.isValid()) {
85 for (
auto iter = args.begin(); iter != args.end(); ++iter) {
86 argumentNames[i] = iter->first;
87 arguments[i] = iter->second;
115 friend class MessageContext;
118 const data_model::VariableName&,
"Smart pointer" class, deletes objects via the C++ array delete[] operator.
UObject is the common ICU "boilerplate" class.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
MessageArguments(const std::map< UnicodeString, Formattable > &args, UErrorCode &status)
Message arguments constructor, which takes a map and returns a container of arguments that can be pas...
MessageArguments & operator=(MessageArguments &&) noexcept
Move operator: The source MessageArguments will be left in a valid but undefined state.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
@ U_MEMORY_ALLOCATION_ERROR
Memory allocation error.
#define U_FAILURE(x)
Does the error code indicate a failure?
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.