ALib C++ Library
Library Version: 2312 R0
Documentation generated by doxygen
Public Methods | Protected Fields | List of all members
PrefixLogable Class Reference
Inheritance diagram for PrefixLogable:
[legend]
Collaboration diagram for PrefixLogable:
[legend]

Class Description


Used to store prefixes set. Those 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 and still be used as a prefix logable.

Definition at line 37 of file domain.inl.

Public Methods

 PrefixLogable (const Box &src)
 
PrefixLogableoperator= (PrefixLogable &&move)=default
 
- Public Methods inherited from Box
constexpr Box () noexcept
 
 Box (Box &&) noexcept=default
 
 Box (const Box &) noexcept=default
 
template<typename TBoxable >
constexpr Box (const TBoxable &src) noexcept
 
 ~Box () noexcept=default
 
size_t ArrayElementSize () const
 
template<typename TFDecl , typename... TArgs>
decltype( Call (TArgs &&... args) conststd::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...))
 
template<typename TFDecl , typename... TArgs>
decltype( Call (TArgs &&... args) std::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...))
 
template<typename TFDecl , typename... TArgs>
decltype( CallDirect (typename TFDecl::Signature function, TArgs &&... args) conststd::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...))
 
template<typename TFDecl , typename... TArgs>
decltype( CallDirect (typename TFDecl::Signature function, TArgs &&... args) std::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...))
 
ALIB_API void Clone (monomem::MonoAllocator &memory)
 
PlaceholderData ()
 
const PlaceholderData () const
 
const detail::VTableDbgGetVTable () const
 
const std::type_info & ElementTypeID () const
 
template<typename TFDecl >
TFDecl::Signature GetFunction (Reach searchScope, bool isInvocation=false) const
 
unsigned int GetPlaceholderUsageLength () const
 
ALIB_API size_t Hashcode () const
 
bool IsArray () const
 
template<typename TElementType >
bool IsArrayOf () const
 
bool IsCharacter () const
 
bool IsEnum () const
 
bool IsFloatingPoint () const
 
ALIB_API 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_API operator bool () const
 
bool operator!= (const Box &rhs) const
 
ALIB_API bool operator< (Box const &rhs) const
 
ALIB_API bool operator<= (Box const &rhs) const
 
Boxoperator= (Box &&) noexcept=default
 
Boxoperator= (const Box &) noexcept=default
 
ALIB_API bool operator== (Box const &rhs) const
 
ALIB_API bool operator> (Box const &rhs) const
 
bool operator>= (Box const &rhs) const
 
const std::type_info & TypeID () const
 
template<typename TUnboxable >
const TUnboxable Unbox () const
 
template<typename TElementType >
TElementType * UnboxArray () const
 
wchar UnboxCharacter () const
 
template<typename TElementType >
TElementType & UnboxElement (integer idx) const
 
ALIB_API double UnboxFloatingPoint () const
 
integer UnboxLength () const
 
template<typename TUnboxable >
TUnboxable UnboxMutable () const
 
integer UnboxSignedIntegral () const
 
uinteger UnboxUnsignedIntegral () const
 

Protected Fields

AStringcopy = nullptr
 
- Protected Fields inherited from Box
Placeholder data
 
detail::VTablevtable
 

Additional Inherited Members

- Protected Static Methods inherited from Box
template<typename TBoxable , bool NoStaticAsserts = false>
static detail::VTablegetVTable ()
 

Constructor & Destructor Documentation

◆ PrefixLogable()

PrefixLogable ( 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
srcThe prefix object provided by the user

Definition at line 49 of file domain.inl.

Here is the call graph for this function:

Member Function Documentation

◆ operator=()

PrefixLogable& operator= ( PrefixLogable &&  move)
default

Move assignment operator. Default implementation of compiler is used. (Needs to be explicitly given due to custom destructor.)

Parameters
moveThe object to be moved.
Returns
This object

Member Data Documentation

◆ copy

AString* copy = nullptr
protected

If set, it will be deleted.

Definition at line 41 of file domain.inl.


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