9#ifndef HPP_ALIB_LANG_FORMAT_PROPERTY_FORMATTERS
10#define HPP_ALIB_LANG_FORMAT_PROPERTY_FORMATTERS
12#if !defined(HPP_ALIB) && !defined(ALIB_DOX)
21#if !defined(HPP_ALIB_LANG_FORMAT_PROPERTY_FORMATTER)
24#if !defined(HPP_ALIB_LANG_FORMAT_EXCEPTIONS)
28#if !defined(HPP_ALIB_CONFIG_CONFIGURATION)
32#if !defined(HPP_ALIB_CAMP_MESSAGE_REPORT)
36#if !defined(_GLIBCXX_UNORDERED_MAP) && !defined(_UNORDERED_MAP_)
37# include <unordered_map>
39namespace alib {
namespace lang::format {
141template<
typename TFormattable,
typename TVariable >
152 std::unordered_map<TVariable, PropertyFormatter*>
formatters;
192 ,
config ( configuration )
209 delete formatter.second;
229 if( varEntryIt.Enum() == option )
237 std::make_pair( option,
245 "No entry for option {!Q<>} found in option table of PropertyFormatters.",
249 formatter->second->
Format( target, formattable );
263template<
typename TFormattable,
typename TOptionEnum >
281 TFormattable& pFormattable )
296 namespace APPENDABLES {
306template<
typename TFormattable,
typename TOptionEnum >
307struct T_Append<typename lang::format::PropertyFormatterMapAppendable<TFormattable,TOptionEnum>,
character >
328template<
typename TFormattable,
typename TOptionEnum >
329struct T_Append<typename lang::format::PropertyFormatterMapAppendable<TFormattable,TOptionEnum>*,
character >
351template<
typename TFormattable,
typename TOptionEnum >
ALIB_API Priorities Load(Variable &variable)
ALIB_API Priorities StoreDefault(Variable &variable, const String &externalizedValue=nullptr)
ALIB_API const String & Fullname()
ALIB_API Variable & Declare(const VariableDecl &declaration, const Box &replacements)
const String & GetString(int idx=0)
ALIB_API AString & Format(AString &target) 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.
lang::format::PropertyFormatter PropertyFormatter
Type alias in namespace alib.
std::shared_ptr< lang::format::Formatter > SPFormatter
characters::character character
Type alias in namespace alib.
static constexpr ForwardIterator end()