131 #if ALIB_DEBUG_CRITICAL_SECTIONS
181 virtual void Reset();
lox::Scope Scope
Type alias in namespace alib.
std::vector< T, SCAMono< T > > StdVectorMono
Type alias in namespace alib.
strings::TString< nchar > NString
Type alias in namespace alib.
containers::HashMap< TAllocator, TKey, TMapped, THash, TEqual, THashCaching, TRecycling > HashMap
Type alias in namespace alib.
monomem::TMonoAllocator< lang::HeapAllocator > MonoAllocator
containers::SharedPtr< format::Formatter > SPFormatter
expressions::Scope ExpressionScope
Type alias in namespace alib. Renamed to not collide with alib::lox::Scope.
virtual ~ScopeResource()
The virtual destructor needed for virtual types.
Members used by the virtual machine. This is constructed only with evaluation-time scopes.
VMMembers(MonoAllocator &allocator)
StdVectorMono< ExpressionVal * > NestedExpressions
Stack of nested expressions called during evaluation. Used to detect cyclic expressions.
VMMembers * EvalScopeVMMembers
The members used for the virtual machine. Available only with evaluation-time instances.
virtual ALIB_DLL ~Scope()
Virtual destructor.
void operator=(const Scope &)=delete
Deleted copy assignment.
StdVectorMono< Box > * Stack
virtual ALIB_DLL void freeResources()
This method is called in the destructor, as well as in method Reset.
ALIB_DLL Scope(SPFormatter &formatter)
MonoAllocator & Allocator
HashMap< MonoAllocator, NString, ScopeResource * > * NamedResources
lang::DbgCriticalSections DCS
Scope(const Scope &)=delete
Deleted copy constructor.
virtual ALIB_DLL void Reset()
MonoAllocator * EvalScopeAllocator
Base class exported by the main module ALib.Expressions.H for technical reasons.