Skip to content

ludus::localization::FormatterContext

Ludus Wiki · API overview · Browse API

Class

Prepared formatter state for a declared set of messages of one catalog lease.
Owns its parsed ICU formatters and UTF-16 scratch and retains a lease of its catalog, so views in FormatResult stay valid while the context lives. It is neither reentrant nor shareable: one thread owns it at a time, and a worker needs its own prepared context. Moved-from contexts are invalid. Destroy every context before ShutdownUnicodeHost.

Declared in modules/localization/include/ludus/localization/formatter.hpp

#include <ludus/localization/formatter.hpp>
class ludus::localization::FormatterContext final

Methods

FormatterContext

ludus::localization::FormatterContext::FormatterContext() noexcept=default
Creates an invalid context; Format reports Invalid until PrepareFormatterContext replaces it.

Declared in modules/localization/include/ludus/localization/formatter.hpp

~FormatterContext

ludus::localization::FormatterContext::~FormatterContext() noexcept=default
Destroys the ICU state and its host retention, then releases the retained lease.

Declared in modules/localization/include/ludus/localization/formatter.hpp

FormatterContext

ludus::localization::FormatterContext::FormatterContext(const FormatterContext &)=delete
Deleted: ICU formatter state is owned by exactly one context.

Declared in modules/localization/include/ludus/localization/formatter.hpp

operator=

FormatterContext & ludus::localization::FormatterContext::operator=(const FormatterContext &)=delete
Deleted: ICU formatter state is owned by exactly one context.

Related types: FormatterContext

Declared in modules/localization/include/ludus/localization/formatter.hpp

FormatterContext

ludus::localization::FormatterContext::FormatterContext(FormatterContext &&other) noexcept
Transfers the prepared state; other becomes invalid.

Declared in modules/localization/include/ludus/localization/formatter.hpp

operator=

FormatterContext & ludus::localization::FormatterContext::operator=(FormatterContext &&other) noexcept
Destroys this state, then transfers other's; other becomes invalid.

Related types: FormatterContext

Declared in modules/localization/include/ludus/localization/formatter.hpp

IsValid

bool ludus::localization::FormatterContext::IsValid() const noexcept
Reports whether PrepareFormatterContext produced this context.

Declared in modules/localization/include/ludus/localization/formatter.hpp

GetPreparedCount

usize ludus::localization::FormatterContext::GetPreparedCount() const noexcept
Number of distinct dynamic messages prepared; static messages need no preparation.

Related types: usize

Declared in modules/localization/include/ludus/localization/formatter.hpp