9#ifndef HPP_ALIB_LANG_FORMAT_PROPERTY_FORMATTERS
10#define HPP_ALIB_LANG_FORMAT_PROPERTY_FORMATTERS
25#include <unordered_map>
27namespace alib {
namespace lang::format {
129template<
typename TFormattable,
typename TVariables >
140 std::unordered_map<TVariables, PropertyFormatter*>
formatters;
177 ,
config ( configuration )
194 delete formatter.second;
204 void Format(
AString& target, TVariables option, TFormattable& formattable )
212 if( varEntryIt.Enum() == option )
222 std::make_pair( option,
229 "No entry for option {!Q<>} found in option table of PropertyFormatters.",
233 formatter->second->Format( target, formattable );
245template<
typename TFormattable,
typename TOptionEnum >
261 TFormattable& pFormattable )
276 namespace APPENDABLES {
284template<
typename TFormattable,
typename TOptionEnum >
302template<
typename TFormattable,
typename TOptionEnum >
323template<
typename TFormattable,
typename TOptionEnum >
Priority GetPriority() const
constexpr bool IsEmpty() const
#define ALIB_ASSERT_MODULE(modulename)
#define ALIB_CALLER_NULLED
#define ALIB_ASSERT_ERROR(cond,...)
lang::Exception Exception
Type alias in namespace alib.
enums::EnumRecords< TEnum > EnumRecords
Type alias in namespace alib.
lang::format::PropertyFormatter PropertyFormatter
Type alias in namespace alib.
LocalString< 256 > String256
Type alias name for TLocalString<character,256>.
characters::character character
Type alias in namespace alib.
static constexpr ForwardIterator end()