170 template <
typename... TArgs>
174 constexpr bool Argument_has_type_Boxes=
175 (
sizeof...(TArgs) == 1)
176 && ( std::is_base_of_v<
Boxes , std::decay< std::tuple_element<0, std::tuple<TArgs...>>>>
177 || std::is_base_of_v<
BoxesMA, std::decay< std::tuple_element<0, std::tuple<TArgs...>>>>
178 || std::is_base_of_v<
BoxesPA, std::decay< std::tuple_element<0, std::tuple<TArgs...>>>> );
179 static_assert( !Argument_has_type_Boxes,
180 "To pass a container of type Boxes to a formatter, use method FormatArgs." );
184 boxes.Add( std::forward<TArgs>( args )... );
213 template<
typename TAllocator>
261 #if !ALIB_SINGLE_THREADED
299 const String& formatString,
301 int startArgument ) =0;
309 template<
typename TAllocator>
#define ALIB_DBG_PREVENT_RECURSIVE_METHOD_CALLS_MEMBER_DECL
#define ALIB_DEBUG_CRITICAL_SECTIONS
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace alib.
boxing::TBoxes< lang::HeapAllocator > Boxes
Type alias in namespace alib.
strings::TNumberFormat< character > NumberFormat
Type alias in namespace alib.
boxing::TBoxes< PoolAllocator > BoxesPA
Type alias in namespace alib.
monomem::TMonoAllocator< lang::HeapAllocator > MonoAllocator
format::Formatter Formatter
Type alias in namespace alib.
boxing::Box Box
Type alias in namespace alib.
boxing::TBoxes< MonoAllocator > BoxesMA
Type alias in namespace alib.
containers::SharedPtr< format::Formatter > SPFormatter
strings::TString< character > String
Type alias in namespace alib.
containers::SharedPtr< T, TAllocator > SharedPtr
Type alias in namespace alib.
DbgCriticalSections(const char *name)