void CallAndRestore_(const CodeContext::Pointer &context, Fun &&fun)
std::ostream & operator<<(std::ostream &os, const CodeContext &ctx)
by default, only small context gist is printed
void CallContextCreator(Fun &&creator)
std::ostream & CurrentCodeContextBrief(std::ostream &os)
void CallParser(const CodeContext::Pointer &parsingContext, Fun &&parse)
void CallService(const CodeContext::Pointer &serviceContext, Fun &&service)
void CallBack(const CodeContext::Pointer &callbackContext, Fun &&callback)
std::ostream & CurrentCodeContextDetail(std::ostream &os)
CodeContext::Pointer savedCodeContext
CodeContextGuard(const CodeContext::Pointer &newContext)
CodeContextGuard(CodeContextGuard &&)=delete
Stopwatch busyTime
time spent in this context (see also: busy_time)
static const Pointer & Current()
RefCount< CodeContext > Pointer
virtual std::ostream & detailCodeContext(std::ostream &os) const =0
appends human-friendly context description line(s) to a cache.log record
virtual ScopedId codeContextGist() const =0
static void Entering(const Pointer &codeCtx)
static void ForgetCurrent()
static void Reset()
forgets the current context, setting it to nil/unknown