11#if !defined(ALIB_C20_MODULES) || ((ALIB_C20_MODULES != 0) && (ALIB_C20_MODULES != 1))
12# error "Symbol ALIB_C20_MODULES has to be given to the compiler as either 0 or 1"
20# include <unordered_map>
157template<
typename TFormattable,
typename TVariables >
168 std::unordered_map<TVariables, PropertyFormatter*>
formatters;
205 ,
config ( configuration )
222 delete formatter.second;
232 void Format(
AString& target, TVariables option, TFormattable& formattable )
240 if( varEntryIt.Enum() == option )
250 std::make_pair( option,
257 "No entry for option {!Q<>} found in option table of PropertyFormatters.",
258 static_cast<std::underlying_type_t<TVariables>
>(option) )
261 formatter->second->Format( target, formattable );
273template<
typename TFormattable,
typename TOptionEnum >
289 TFormattable& pFormattable )
304 namespace APPENDABLES {
312template<
typename TFormattable,
typename TOptionEnum >
330template<
typename TFormattable,
typename TOptionEnum >
351template<
typename TFormattable,
typename TOptionEnum >
constexpr bool IsEmpty() const
Priority GetPriority() const
#define ALIB_CALLER_NULLED
#define ALIB_ASSERT_ERROR(cond, domain,...)
LocalString< 256 > String256
Type alias name for TLocalString<character,256>.
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace alib.
variables::Variable Variable
Type alias in namespace alib.
format::PropertyFormatters< TFormattable, TOptionEnum > PropertyFormatters
Type alias in namespace alib.
enumrecords::EnumRecords< TEnum > EnumRecords
Type alias in namespace alib.
format::PropertyFormatter PropertyFormatter
Type alias in namespace alib.
exceptions::Exception Exception
Type alias in namespace alib.
containers::SharedPtr< format::Formatter > SPFormatter
characters::character character
Type alias in namespace alib.