ALib C++ Library
Library Version: 2402 R1
Documentation generated by doxygen
Loading...
Searching...
No Matches
LoxImpl Struct Reference

Description:


Implementation struct for class Lox following the Pimpl Idiom .

Definition at line 137 of file loxpimpl.cpp.

Collaboration diagram for LoxImpl:
[legend]

Public Field Index:

integer CntLogCalls =0
 
Domaindomains
 
List< DomainSubstitutionRuledomainSubstitutions
 
MonoAllocator::Snapshot initialSnapshot
 
DomaininternalDomains
 
std::vector< Boxes *, StdContMA< Boxes * > > internalLogables
 
integer internalLogRecursionCounter = 0
 
threads::ThreadLock Lock
 
std::vector< Boxes *, StdContMA< Boxes * > > logableContainers
 
bool loggerAddedSinceLastDebugState =false
 
integer maxDomainPathLength
 
integer maxLoggerNameLength =0
 
MonoAllocatormonoAllocator
 
const alib::NString noKeyHashKey = "$"
 
bool oneTimeWarningCircularDS =false
 
ScopeStore< NString, true > scopeDomains
 
ScopeInfo scopeInfo
 
ScopeStore< std::map< NString, Box > *, false > scopeLogData
 
ScopeStore< std::map< NString, int > *, false > scopeLogOnce
 
ScopeStore< PrefixLogable *, true > scopePrefixes
 
Variable tempVar
 

Public Method Index:

 LoxImpl (MonoAllocator *ma, const NString &name)
 
 ~LoxImpl ()
 
int CountAcquirements ()
 

Field Details:

◆ CntLogCalls

integer CntLogCalls =0

A counter for the quantity of calls. The count includes logs that were suppressed by disabled Log Domain and those suppressed by the optional log condition parameter.

Definition at line 156 of file loxpimpl.cpp.

◆ domains

Domain* 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 178 of file loxpimpl.cpp.

◆ domainSubstitutions

List<DomainSubstitutionRule> domainSubstitutions

The list of domain substitution rules.

Definition at line 206 of file loxpimpl.cpp.

◆ initialSnapshot

MonoAllocator::Snapshot initialSnapshot

The self contained monotonic allocator, that also contains this struct itself.

Definition at line 143 of file loxpimpl.cpp.

◆ internalDomains

Domain* internalDomains

The root domain for internal Log Domains.

Definition at line 181 of file loxpimpl.cpp.

◆ internalLogables

std::vector<Boxes*, StdContMA<Boxes*> > internalLogables

A list of a list of logables used for (recursive) internal logging.

Definition at line 165 of file loxpimpl.cpp.

◆ internalLogRecursionCounter

integer internalLogRecursionCounter = 0

The recursion counter for internal logging.

Definition at line 168 of file loxpimpl.cpp.

◆ Lock

A mutex to control parallel access.

Definition at line 147 of file loxpimpl.cpp.

◆ logableContainers

std::vector<Boxes*, StdContMA<Boxes*> > logableContainers

A list of a list of logables used for (recursive) logging.

Definition at line 162 of file loxpimpl.cpp.

◆ loggerAddedSinceLastDebugState

bool loggerAddedSinceLastDebugState =false

Flag used with configuration variable LOXNAME_DUMP_STATE_ON_EXIT.

Definition at line 212 of file loxpimpl.cpp.

◆ maxDomainPathLength

integer maxDomainPathLength

Used for tabular output of logger lists

Definition at line 199 of file loxpimpl.cpp.

◆ maxLoggerNameLength

integer maxLoggerNameLength =0

Used for tabular output of logger lists

Definition at line 196 of file loxpimpl.cpp.

◆ monoAllocator

MonoAllocator* monoAllocator

The self contained monotonic allocator, that also contains this struct itself.

Definition at line 140 of file loxpimpl.cpp.

◆ noKeyHashKey

const alib::NString noKeyHashKey = "$"

A key value used in stores if no key is given (global object).

Definition at line 202 of file loxpimpl.cpp.

◆ oneTimeWarningCircularDS

bool oneTimeWarningCircularDS =false

Flag if a warning on circular rule detection was logged.

Definition at line 209 of file loxpimpl.cpp.

◆ scopeDomains

ScopeStore<NString , true > scopeDomains

Scope Domains

Definition at line 184 of file loxpimpl.cpp.

◆ scopeInfo

ScopeInfo scopeInfo

Information about the source code, method, thread, etc. invoking a log call

Definition at line 171 of file loxpimpl.cpp.

◆ scopeLogData

ScopeStore<std::map<NString, Box>* , false> scopeLogData

Log data store

Definition at line 193 of file loxpimpl.cpp.

◆ scopeLogOnce

ScopeStore<std::map<NString, int>* , false> scopeLogOnce

Log once counters

Definition at line 190 of file loxpimpl.cpp.

◆ scopePrefixes

ScopeStore<PrefixLogable* , true > scopePrefixes

Prefix logables store

Definition at line 187 of file loxpimpl.cpp.

◆ tempVar

Variable tempVar

A temporary variable to be reused (allocate once pattern).

Definition at line 159 of file loxpimpl.cpp.

Constructor(s) / Destructor Details::

◆ LoxImpl()

LoxImpl ( MonoAllocator * ma,
const NString & name )
inline

Constructor.

Parameters
maThe externally created, self-contained monotonic allocator, that also contains this field.
nameThe lox's name.

Definition at line 220 of file loxpimpl.cpp.

Here is the call graph for this function:

◆ ~LoxImpl()

~LoxImpl ( )
inline

Destructor.

Definition at line 241 of file loxpimpl.cpp.

Here is the call graph for this function:

Method Details:

◆ CountAcquirements()

int CountAcquirements ( )
inline

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).

Returns
The number of acquirements.

Definition at line 251 of file loxpimpl.cpp.

Here is the call graph for this function:

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