Implementation struct for class Lox following the Pimpl Idiom .
Definition at line 132 of file loxpimpl.cpp.
Public Field Index: | |
| int | AcquirementsCount |
| Counts the number of nested (recursive) acquirements. | |
| monomem::Snapshot | beforeLox |
| Snapshot taken before embedding the lox in the monoAllocator. | |
| integer | CntLogCalls =0 |
| Domain * | domains |
| ListMA< DomainSubstitutionRule > | domainSubstitutions |
| The list of domain substitution rules. | |
| Domain * | internalDomains |
| The root domain for internal Log Domains. | |
| StdVectorMA< BoxesMA * > | internalLogables |
| A list of a list of logables used for (recursive) internal logging. | |
| integer | internalLogRecursionCounter = 0 |
| The recursion counter for internal logging. | |
| threads::RecursiveLock | Lock |
| A mutex to control parallel access. | |
| StdVectorMA< BoxesMA * > | logableContainers |
| A list of a list of logables used for (recursive) logging. | |
| bool | loggerAddedSinceLastDebugState =false |
| Flag used with configuration variable LOXNAME_DUMP_STATE_ON_EXIT. | |
| integer | maxDomainPathLength |
| Used for tabular output of logger lists. | |
| integer | maxLoggerNameLength =0 |
| Used for tabular output of logger lists. | |
| MonoAllocator & | monoAllocator |
| The self-contained monotonic allocator, that also contains this struct itself. | |
| const NString | noKeyHashKey = "$" |
| A key value used in stores if no key is given (global object). | |
| bool | oneTimeWarningCircularDS =false |
| Flag if a warning on circular rule detection was logged. | |
| PoolAllocator | poolAllocator |
| A pool allocator that uses monoAllocator as its source. | |
| ScopeStore< NString, true > | scopeDomains |
| Scope Domains. | |
| ScopeInfo | scopeInfo |
| Information about the source code, method, thread, etc. invoking a log call. | |
| ScopeStore< SSMap< Box > *, false > | scopeLogData |
| Log data store. | |
| ScopeStore< SSMap< int > *, false > | scopeLogOnce |
| Log once counters. | |
| ScopeStore< PrefixLogable *, true > | scopePrefixes |
| Prefix logables store. | |
Public Method Index: | |
| LoxImpl (MonoAllocator *ma, const NString &name) | |
| ~LoxImpl () | |
| Destructor. | |
| int | CountAcquirements () const noexcept |
| template<typename T> | |
| void | deletePO (T *o) |
| template<typename T, typename... TArgs> | |
| T * | newPO (TArgs &&... args) |
| int alib::lox::detail::LoxImpl::AcquirementsCount |
Counts the number of nested (recursive) acquirements.
Definition at line 148 of file loxpimpl.cpp.
| monomem::Snapshot alib::lox::detail::LoxImpl::beforeLox |
Snapshot taken before embedding the lox in the monoAllocator.
Definition at line 140 of file loxpimpl.cpp.
| integer alib::lox::detail::LoxImpl::CntLogCalls =0 |
A counter for the quantity of calls. The count includes logs suppressed by disabled Log Domain and those suppressed by the optional log condition parameter.
Definition at line 152 of file loxpimpl.cpp.
| Domain* alib::lox::detail::LoxImpl::domains |
The root domain "/". All registered domains become a sub domain of this root. If a Sub-Log Domain's Verbosity is not explicitly set, such sub domain inherits the verbosity of its parent.
Definition at line 169 of file loxpimpl.cpp.
| ListMA<DomainSubstitutionRule> alib::lox::detail::LoxImpl::domainSubstitutions |
The list of domain substitution rules.
Definition at line 197 of file loxpimpl.cpp.
| Domain* alib::lox::detail::LoxImpl::internalDomains |
The root domain for internal Log Domains.
Definition at line 172 of file loxpimpl.cpp.
| StdVectorMA<BoxesMA*> alib::lox::detail::LoxImpl::internalLogables |
A list of a list of logables used for (recursive) internal logging.
Definition at line 158 of file loxpimpl.cpp.
| integer alib::lox::detail::LoxImpl::internalLogRecursionCounter = 0 |
The recursion counter for internal logging.
Definition at line 161 of file loxpimpl.cpp.
| threads::RecursiveLock alib::lox::detail::LoxImpl::Lock |
A mutex to control parallel access.
Definition at line 144 of file loxpimpl.cpp.
| StdVectorMA<BoxesMA*> alib::lox::detail::LoxImpl::logableContainers |
A list of a list of logables used for (recursive) logging.
Definition at line 155 of file loxpimpl.cpp.
| bool alib::lox::detail::LoxImpl::loggerAddedSinceLastDebugState =false |
Flag used with configuration variable LOXNAME_DUMP_STATE_ON_EXIT.
Definition at line 203 of file loxpimpl.cpp.
| integer alib::lox::detail::LoxImpl::maxDomainPathLength |
Used for tabular output of logger lists.
Definition at line 190 of file loxpimpl.cpp.
| integer alib::lox::detail::LoxImpl::maxLoggerNameLength =0 |
Used for tabular output of logger lists.
Definition at line 187 of file loxpimpl.cpp.
| MonoAllocator& alib::lox::detail::LoxImpl::monoAllocator |
The self-contained monotonic allocator, that also contains this struct itself.
Definition at line 134 of file loxpimpl.cpp.
| const NString alib::lox::detail::LoxImpl::noKeyHashKey = "$" |
A key value used in stores if no key is given (global object).
Definition at line 193 of file loxpimpl.cpp.
| bool alib::lox::detail::LoxImpl::oneTimeWarningCircularDS =false |
Flag if a warning on circular rule detection was logged.
Definition at line 200 of file loxpimpl.cpp.
| PoolAllocator alib::lox::detail::LoxImpl::poolAllocator |
A pool allocator that uses monoAllocator as its source.
Definition at line 137 of file loxpimpl.cpp.
| ScopeStore<NString , true > alib::lox::detail::LoxImpl::scopeDomains |
Scope Domains.
Definition at line 175 of file loxpimpl.cpp.
| ScopeInfo alib::lox::detail::LoxImpl::scopeInfo |
Information about the source code, method, thread, etc. invoking a log call.
Definition at line 164 of file loxpimpl.cpp.
| ScopeStore<SSMap<Box>* , false> alib::lox::detail::LoxImpl::scopeLogData |
Log data store.
Definition at line 184 of file loxpimpl.cpp.
| ScopeStore<SSMap<int>* , false> alib::lox::detail::LoxImpl::scopeLogOnce |
Log once counters.
Definition at line 181 of file loxpimpl.cpp.
| ScopeStore<PrefixLogable*, true > alib::lox::detail::LoxImpl::scopePrefixes |
Prefix logables store.
Definition at line 178 of file loxpimpl.cpp.
|
inline |
Constructor.
| ma | The externally created, self-contained monotonic allocator, that also contains this instance. |
| name | The lox's name. |
Definition at line 209 of file loxpimpl.cpp.
|
inline |
Destructor.
Definition at line 227 of file loxpimpl.cpp.
|
inlinenoexcept |
Returns the number of (recursive) acquirements of this Lox. If greater than 1, this is either recursive logging or a user has explicitly acquired this lox repeatedly (which is not recommended to do).
Definition at line 248 of file loxpimpl.cpp.
|
inline |
Shortcut to delete arbitrary objects in poolAllocator.
| T | The type to allocate. Deduced by the compiler. |
| o | The allocated object. |
Definition at line 263 of file loxpimpl.cpp.
|
inline |
Shortcut to allocate arbitrary objects in poolAllocator.
| T | The type to allocate. |
| TArgs | Types of variadic parameters given with parameter args. Deduced by the compiler. |
| args | Variadic parameters to be forwarded to the constructor of type T. |
Definition at line 257 of file loxpimpl.cpp.