ALib C++ Framework
by
Library Version: 2511 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
alib::lox::detail::PrefixLogable Class Reference

Description:

Used to store log prefixes. Those that are provided as boxes of character arrays are copied into an internal AString and will be deleted with the object. This ensures, that simple strings might get assembled on the stack (aka as local function variables) and still be used as a prefix logable, which survives the lifespan on the setting function.

Definition at line 20 of file domain.inl.

Inheritance diagram for alib::lox::detail::PrefixLogable:
alib::boxing::Box

Public Method Index:

 PrefixLogable (PoolAllocator &pa, const Box &src)
Public Method Index: inherited from alib::boxing::Box
 Box () noexcept
template<typename TBoxable>
constexpr Box (const TBoxable &src) noexcept
 Box (TypeCode typeCode, const Placeholder &placeholder) noexcept
size_t ArrayElementSize () const
template<typename TFDecl, typename... TArgs>
decltype(std::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...)) Call (TArgs &&... args)
template<typename TFDecl, typename... TArgs>
decltype(std::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...)) Call (TArgs &&... args) const
template<typename TFDecl, typename... TArgs>
decltype(std::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...)) CallDirect (typename TFDecl::Signature function, TArgs &&... args)
template<typename TFDecl, typename... TArgs>
decltype(std::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...)) CallDirect (typename TFDecl::Signature function, TArgs &&... args) const
void Clone (MonoAllocator &memory)
PlaceholderData ()
const PlaceholderData () const
const detail::VTableDbgGetVTable () const
const std::type_info & ElementTypeID () const
TypeCode ExportType () const
Placeholder ExportValue () const
template<typename TFDecl>
TFDecl::Signature GetFunction (Reach searchScope, bool isInvocation=false) const
unsigned GetPlaceholderUsageLength () const
size_t Hashcode () const
void Import (TypeCode typeCode)
void Import (TypeCode typeCode, const Placeholder &placeholder)
bool IsArray () const
template<typename TElementType>
bool IsArrayOf () const
bool IsCharacter () const
bool IsEnum () const
bool IsFloatingPoint () const
bool IsNotNull () const
bool IsNull () const
bool IsPointer () const
bool IsSameType (const Box &other) const
bool IsSignedIntegral () const
template<typename TBoxable>
bool IsType () const
bool IsUnsignedIntegral () const
 operator bool () const
bool operator!= (const Box &rhs) const
bool operator< (Box const &rhs) const
bool operator<= (Box const &rhs) const
bool operator== (Box const &rhs) const
bool operator> (Box const &rhs) const
bool operator>= (Box const &rhs) const
const std::type_info & TypeID () const
template<typename TValue>
TValue Unbox ()
template<typename TElementType>
TElementType * UnboxArray () const
wchar UnboxCharacter () const
template<typename TElementType>
TElementType & UnboxElement (integer idx) const
double UnboxFloatingPoint () const
integer UnboxLength () const
template<typename TPointer>
TPointer UnboxMutable () const
integer UnboxSignedIntegral () const
uinteger UnboxUnsignedIntegral () const

Protected Field Index:

AStringPA copy
 If set, it will be deleted.
Protected Field Index: inherited from alib::boxing::Box
Placeholder data
 The data that we encapsulate.
detail::VTablevtable

Additional Inherited Members

Public Type Index: inherited from alib::boxing::Box
using TypeCode = uinteger
 The type of type codes received with ExportType.
Protected Static Method Index: inherited from alib::boxing::Box
template<typename TBoxable>
static constexpr detail::VTablegetVTable ()
Protected Method Index: inherited from alib::boxing::Box
template<typename T>
constexpr void initPH (const T &src) noexcept

Field Details:

◆ copy

AStringPA alib::lox::detail::PrefixLogable::copy
protected

If set, it will be deleted.

Definition at line 24 of file domain.inl.

Constructor(s) / Destructor Details:

◆ PrefixLogable()

alib::lox::detail::PrefixLogable::PrefixLogable ( PoolAllocator & pa,
const Box & src )
inline

Constructor taking the originally provided box. If this is an array of characters, the contents is copied into a heap allocated (new) AString and our vtable is replaced accordingly.

Parameters
paThe pool allocator of the Lox.
srcThe prefix object provided by the user

Definition at line 31 of file domain.inl.


The documentation for this class was generated from the following file: