Qore Programming Language - C/C++ Library  0.8.13
ValueEvalRefHolder Class Reference

evaluates an AbstractQoreNode and dereferences the stored value in the destructor More...

#include <QoreValue.h>

Inheritance diagram for ValueEvalRefHolder:
Collaboration diagram for ValueEvalRefHolder:

Public Member Functions

DLLEXPORT ValueEvalRefHolder (const AbstractQoreNode *exp, ExceptionSink *xs)
 evaluates the AbstractQoreNode argument
 
- Public Member Functions inherited from ValueOptionalRefHolder
DLLLOCAL ValueOptionalRefHolder (QoreValue n_v, bool nd, ExceptionSink *xs)
 creates the object with the given values
 
DLLLOCAL ValueOptionalRefHolder (ExceptionSink *xs)
 creates an empty object
 
DLLLOCAL void clearTemp ()
 sets needs_deref = false
 
DLLEXPORT void ensureReferencedValue ()
 
DLLEXPORT AbstractQoreNodegetReferencedValue ()
 returns a referenced AbstractQoreNode ptr; caller owns the reference; the current object is left empty
 
DLLLOCAL bool isTemp () const
 returns true if the value is temporary (needs dereferencing)
 
DLLLOCAL operator bool () const
 returns true if holding an AbstractQoreNode reference
 
DLLEXPORT void sanitize ()
 converts pointers to efficient representations and manages the reference count
 
DLLLOCAL void setValue (QoreValue nv)
 assigns a new non-temporary value
 
DLLLOCAL void setValue (QoreValue nv, bool temp)
 assigns a new value
 
DLLLOCAL AbstractQoreNodetakeNode (bool &nd)
 returns the stored AbstractQoreNode pointer and sets the dereference flag as an output variable
 
template<typename T >
DLLLOCAL T * takeReferencedNode ()
 returns the stored node value and leaves the current object empty
 
DLLEXPORT QoreValue takeReferencedValue ()
 returns a QoreValue after incrementing the reference count of any node value stored
 
DLLLOCAL QoreValue takeValue (bool &nd)
 returns the stored value and sets the dereference flag as an output variable
 
DLLLOCAL void takeValueFrom (ValueOptionalRefHolder &val)
 returns the stored value which must be dereferenced if it is a node object (i.e. type == QV_Node)
 
- Public Member Functions inherited from ValueHolderBase
DLLLOCAL ValueHolderBase (ExceptionSink *xs)
 creates an ampty object
 
DLLLOCAL ValueHolderBase (QoreValue n_v, ExceptionSink *xs)
 creates the object with the given value
 
DLLLOCAL QoreValueoperator* ()
 returns the value being managed
 
DLLLOCAL QoreValueoperator-> ()
 returns the value being managed
 

Additional Inherited Members

- Protected Attributes inherited from ValueOptionalRefHolder
bool needs_deref
 flag indicating if the value should be dereferenced in the destructor or not
 
- Protected Attributes inherited from ValueHolderBase
QoreValue v
 the vlaue held
 
ExceptionSinkxsink
 for possible Qore-language exceptions
 

Detailed Description

evaluates an AbstractQoreNode and dereferences the stored value in the destructor


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