/// @cond DOXYGEN_IGNORE // Export an explicit template instantiation of the LocalPointer that is used as a // data member of various MessageFormatDataModel classes. // (When building DLLs for Windows this is required.) // (See measunit_impl.h, datefmt.h, collationiterator.h, erarules.h and others // for similar examples.) #if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN templateclass U_I18N_API LocalPointerBase<UnicodeString>; templateclass U_I18N_API LocalPointerBase<message2::Formattable>; templateclass U_I18N_API LocalArray<UnicodeString>; templateclass U_I18N_API LocalArray<message2::Formattable>; #endif /// @endcond
namespace message2 {
class MessageContext;
// Arguments // ----------
/** * * The `MessageArguments` class represents the named arguments to a message. * It is immutable and movable. It is not copyable. * * @internal ICU 75 technology preview * @deprecated This API is for technology preview only.
*/ class U_I18N_API MessageArguments : public UObject { public: /** * Message arguments constructor, which takes a map and returns a container * of arguments that can be passed to a `MessageFormatter`. * * @param args A reference to a map from strings (argument names) to `message2::Formattable` * objects (argument values). The keys and values of the map are copied into the result. * @param status Input/output error code. * * @internal ICU 75 technology preview * @deprecated This API is for technology preview only.
*/
MessageArguments(const std::map<UnicodeString, Formattable>& args, UErrorCode& status) { if (U_FAILURE(status)) { return;
}
argumentNames = LocalArray<UnicodeString>(new UnicodeString[argsLen = static_cast<int32_t>(args.size())]);
arguments = LocalArray<Formattable>(new Formattable[argsLen]); if (!argumentNames.isValid() || !arguments.isValid()) {
status = U_MEMORY_ALLOCATION_ERROR; return;
}
int32_t i = 0; for (auto iter = args.begin(); iter != args.end(); ++iter) {
argumentNames[i] = iter->first;
arguments[i] = iter->second;
i++;
}
} /** * Move operator: * The source MessageArguments will be left in a valid but undefined state. * * @internal ICU 75 technology preview * @deprecated This API is for technology preview only.
*/
MessageArguments& operator=(MessageArguments&&) noexcept; /** * Default constructor. * Returns an empty arguments mapping. * * @internal ICU 75 technology preview * @deprecated This API is for technology preview only.
*/
MessageArguments() = default; /** * Destructor. * * @internal ICU 75 technology preview * @deprecated This API is for technology preview only.
*/ virtual ~MessageArguments(); private: friendclass MessageContext;
// Avoids using Hashtable so that code constructing a Hashtable // doesn't have to appear in this header file
LocalArray<UnicodeString> argumentNames;
LocalArray<Formattable> arguments;
int32_t argsLen = 0;
}; // class MessageArguments
} // namespace message2
U_NAMESPACE_END
#endif// U_HIDE_DEPRECATED_API
#endif/* #if !UCONFIG_NO_MF2 */
#endif/* #if !UCONFIG_NO_FORMATTING */
#endif/* U_SHOW_CPLUSPLUS_API */
#endif// MESSAGEFORMAT2_ARGUMENTS_H
// eof
Messung V0.5
¤ Dauer der Verarbeitung: 0.29 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.