8#ifndef HPP_ALOX_DETAIL_SCOPEINFO
9#define HPP_ALOX_DETAIL_SCOPEINFO 1
11#if !defined(HPP_ALIB_LOX_PROPPERINCLUDE)
12# error "ALib sources with ending '.inl' must not be included from outside."
18#if !defined (HPP_ALIB_TIME_TICKS)
22#if !defined (HPP_ALIB_CAMP_DIRECTORY)
26#if ALIB_THREADS && !defined (HPP_ALIB_THREADS_THREAD)
30#if !defined (HPP_ALIB_MONOMEM_HASHMAP)
33#if !defined (HPP_ALIB_MONOMEM_STDCONTAINERMA)
40namespace lox {
namespace detail {
62 #if !defined(ALIB_DOX)
213 std::vector<Scope,StdContMA<Scope>>
scopes;
241 #if defined(ALIB_DOX)
295 const NString& trimReplacement,
static ALIB_API int DefaultCacheSize
const NCString & GetOrigFile()
std::vector< SourcePathTrimRule > LocalSPTRs
threads::ThreadID GetThreadID()
const NString GetFullPath()
static ALIB_API std::vector< SourcePathTrimRule > GlobalSPTRs
const NString GetFileName()
ALIB_API ScopeInfo(const NString &name, MonoAllocator *allocator, config::Variable &tempVar)
static ALIB_API bool GlobalSPTRsReadFromConfig
const alib::String & GetThreadNameAndID(threads::ThreadID *id)
ThreadDictionary threadDictionary
const NCString GetMethod()
ALIB_API void SetSourcePathTrimRule(const NCString &path, lang::Inclusion includeString, int trimOffset, lang::Case sensitivity, const NString &trimReplacement, lang::Reach reach, Priorities priority)
const NString GetFileNameWithoutExtension()
SourceFile * lastSourceFile
std::vector< Scope, StdContMA< Scope > > scopes
const NString GetLoxName()
bool AutoDetectTrimableSourcePath
ALIB_API void Set(const NCString &source, int lineNumber, const NCString &method, threads::Thread *thread)
void GetTrimmedPath(AString &target)
Iterator Find(const KeyType &key)
TAString & _(const TString< TChar > &src, integer regionStart, integer regionLength=MAX_LEN)
constexpr bool IsNull() const
constexpr integer Length() const
ALIB_WARNINGS_RESTORE integer LastIndexOf(TChar needle, integer startIndex=MAX_LEN) const
constexpr const TChar * Buffer() const
static Thread * GetCurrent()
virtual const CString GetName()
#define ALIB_IF_THREADS(...)
#define ALIB_WARNINGS_RESTORE
#define ALIB_WARNINGS_ALLOW_UNSAFE_BUFFER_USAGE
#define ALIB_ASSERT(cond)
config::Variable Variable
Type alias in namespace alib.
constexpr nchar DirectorySeparator
strings::TString< nchar > NString
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
static ALIB_API void Reset(LoxImpl *impl, bool reInitialze=true)
static ALIB_API void GetState(LoxImpl *impl, NAString &buf, StateInfo flags)
static ALIB_API void MapThreadName(LoxImpl *impl, const String &threadName, threads::ThreadID id)
NString trimmedPathPrefix
integer origFilePathLength
NAString TrimReplacement
Optional replacement string for trimmed paths.
int TrimOffset
Additional offset of the trim position.
lang::Inclusion IncludeString
Denotes if Path itself should be included when trimmed.
Priorities Priority
The priority of the rule. Depends on origin: source code, config...)
NAString Path
The path string.
lang::Case Sensitivity
The sensitivity of the comparison when trimming.
bool IsPrefix
true if path was not starting with '*' when provided.