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 livespan on the setting function.
Definition at line 20 of file domain.inl.
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 |
| ALIB_DLL void | Clone (MonoAllocator &memory) |
| Placeholder & | Data () |
| const Placeholder & | Data () const |
| const detail::VTable * | DbgGetVTable () 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 int | GetPlaceholderUsageLength () const |
| ALIB_DLL 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 |
| ALIB_DLL 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 |
| ALIB_DLL | operator bool () const |
| bool | operator!= (const Box &rhs) const |
| ALIB_DLL bool | operator< (Box const &rhs) const |
| ALIB_DLL bool | operator<= (Box const &rhs) const |
| ALIB_DLL bool | operator== (Box const &rhs) const |
| ALIB_DLL bool | operator> (Box const &rhs) const |
| bool | operator>= (Box const &rhs) const |
| const std::type_info & | TypeID () const |
| template<typename TValue> requires IsUnboxableStringType<TValue> | |
| TValue | Unbox () const |
| template<typename TValue> requires ( !std::is_pointer_v<TValue> && !IsUnboxableStringType<TValue> ) | |
| TValue | Unbox () const |
| template<typename TPointer> requires ( std::is_pointer_v<TPointer> && !IsUnboxableStringType<TPointer> ) | |
| const std::remove_pointer_t< TPointer > * | Unbox () const |
| template<typename TElementType> | |
| TElementType * | UnboxArray () const |
| wchar | UnboxCharacter () const |
| template<typename TElementType> | |
| TElementType & | UnboxElement (integer idx) const |
| ALIB_DLL double | UnboxFloatingPoint () const |
| integer | UnboxLength () const |
| template<typename TPointer> requires std::is_pointer_v<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::VTable * | vtable |
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::VTable * | getVTable () |
Protected Method Index: inherited from alib::boxing::Box | |
| template<typename T> | |
| constexpr void | initPH (const T &src) noexcept |
|
protected |
If set, it will be deleted.
Definition at line 24 of file domain.inl.
|
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.
| pa | The pool allocator of the Lox. |
| src | The prefix object provided by the user |
Definition at line 31 of file domain.inl.