SeExpr
SeExpr2::Context Class Reference

#include <Context.h>

Public Member Functions

bool lookupParameter (const std::string &parameterName, std::string &value) const
 Lookup a Context parameter by name.
 
void setParameter (const std::string &parameterName, const std::string &value)
 Set a parameter. NOTE: this must be done when no threads are accessing lookupParameter for safety.
 
ContextcreateChildContext () const
 Create a context that is a child of this context.
 
void setParent (const Context *context)
 
const ContextgetParent () const
 
bool hasContext (const Context *context) const
 

Static Public Member Functions

static Contextglobal ()
 The global default context of the seexpr.
 

Private Types

typedef std::map< std::string, std::string > ParameterMap
 

Private Member Functions

 Context (const Context &)
 
Contextoperator= (const Context &)
 
 Context (const Context *parent)
 

Private Attributes

const Context_parent
 The parent scope.
 
ParameterMap _parameters
 Attribute/value pairs.
 

Detailed Description

Definition at line 24 of file Context.h.

Member Typedef Documentation

◆ ParameterMap

typedef std::map<std::string, std::string> SeExpr2::Context::ParameterMap
private

Definition at line 66 of file Context.h.

Constructor & Destructor Documentation

◆ Context() [1/2]

SeExpr2::Context::Context ( const Context & )
private

Private constructor and un-implemented default/copy/assignment (it is required that we derive from the global context via createChildContext)

References Context().

Referenced by Context(), Context(), createChildContext(), getParent(), global(), hasContext(), operator=(), and setParent().

◆ Context() [2/2]

Context::Context ( const Context * parent)
private

Definition at line 21 of file Context.cpp.

References _parent, and Context().

Member Function Documentation

◆ createChildContext()

Context * Context::createChildContext ( ) const

Create a context that is a child of this context.

Definition at line 27 of file Context.cpp.

References Context().

◆ getParent()

const Context * SeExpr2::Context::getParent ( ) const
inline

Definition at line 44 of file Context.h.

References _parent, and Context().

◆ global()

Context & Context::global ( )
static

The global default context of the seexpr.

Definition at line 29 of file Context.cpp.

References Context(), and context.

◆ hasContext()

bool SeExpr2::Context::hasContext ( const Context * context) const
inline

Definition at line 46 of file Context.h.

References _parent, Context(), and context.

◆ lookupParameter()

bool SeExpr2::Context::lookupParameter ( const std::string & parameterName,
std::string & value ) const
inline

Lookup a Context parameter by name.

Definition at line 27 of file Context.h.

References _parameters, _parent, it, and value().

◆ operator=()

Context & SeExpr2::Context::operator= ( const Context & )
private

References Context().

◆ setParameter()

void Context::setParameter ( const std::string & parameterName,
const std::string & value )

Set a parameter. NOTE: this must be done when no threads are accessing lookupParameter for safety.

Definition at line 23 of file Context.cpp.

References _parameters, and value().

◆ setParent()

void SeExpr2::Context::setParent ( const Context * context)
inline

Definition at line 43 of file Context.h.

References _parent, Context(), and context.

Member Data Documentation

◆ _parameters

ParameterMap SeExpr2::Context::_parameters
private

Attribute/value pairs.

Definition at line 68 of file Context.h.

Referenced by lookupParameter(), and setParameter().

◆ _parent

const Context* SeExpr2::Context::_parent
private

The parent scope.

Definition at line 63 of file Context.h.

Referenced by Context(), getParent(), hasContext(), lookupParameter(), and setParent().


The documentation for this class was generated from the following files: