8#ifndef HPP_ALIB_EXPRESSIONS_SCOPE 
    9#define HPP_ALIB_EXPRESSIONS_SCOPE 
   15namespace alib {  
namespace expressions {
 
   19namespace detail { 
struct VirtualMachine; }
 
  121    virtual void    reset();
 
  165    #if ALIB_DEBUG_CRITICAL_SECTIONS 
 
std::vector< T, SCAMono< T > > StdVectorMono
Type alias in namespace alib.
lox::Scope Scope
Type alias in namespace alib.
strings::TString< nchar > NString
Type alias in namespace alib.
monomem::TMonoAllocator< lang::HeapAllocator > MonoAllocator
expressions::Compiler Compiler
Type alias in namespace alib.
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.
void operator=(const Scope &)=delete
Deleted copy assignment.
HashMap< MonoAllocator, NString, ScopeResource * > * NamedResources
MonoAllocator * evalScopeAllocator
lang::DbgCriticalSections dcs
StdVectorMono< Box > * Stack
Scope(const Scope &)=delete
Deleted copy constructor.
VMMembers * vmMembers
The members used for the virtual machine. Available only with evaluation-time instances.
virtual ALIB_API void reset()
virtual ALIB_API ~Scope()
Virtual destructor.
virtual ALIB_API void freeResources()
This method is called in the destructor, as well as in method reset.
MonoAllocator & Allocator