![]() |
Qore Programming Language - C/C++ Library 2.1.1
|
evaluates an AbstractQoreNode and dereferences the stored value in the destructor More...
#include <QoreValue.h>
Public Member Functions | |
| DLLEXPORT | ValueEvalOptimizedRefHolder (const QoreValue &exp, ExceptionSink *xs) |
| evaluates the exp argument | |
| DLLEXPORT | ValueEvalOptimizedRefHolder (ExceptionSink *xs) |
| creates the object with with no evaluation | |
| DLLEXPORT int | eval (const QoreValue &exp) |
| evaluates the argument, returns -1 for error, 0 = OK | |
Public Member Functions inherited from ValueEvalRefHolder | |
| DLLEXPORT | ValueEvalRefHolder (const AbstractQoreNode *exp, ExceptionSink *xs) |
| evaluates the exp argument | |
| DLLEXPORT | ValueEvalRefHolder (const QoreValue exp, ExceptionSink *xs) |
| evaluates the exp argument | |
| DLLEXPORT | ValueEvalRefHolder (ExceptionSink *xs) |
| creates the object with with no evaluation | |
| DLLEXPORT int | eval (const AbstractQoreNode *exp) |
| evaluates the argument, returns -1 for error, 0 = OK | |
| DLLEXPORT int | eval (const QoreValue exp) |
| evaluates the argument, returns -1 for error, 0 = OK | |
Public Member Functions inherited from ValueOptionalRefHolder | |
| DLLLOCAL | ValueOptionalRefHolder (ExceptionSink *xs) |
| creates an empty object | |
| DLLLOCAL | ValueOptionalRefHolder (QoreValue n_v, bool nd, ExceptionSink *xs) |
| creates the object with the given values | |
| DLLLOCAL void | clearTemp () |
| sets needs_deref = false | |
| DLLEXPORT void | ensureReferencedValue () |
| DLLEXPORT QoreValue | getReferencedValue () |
| returns a referenced value; caller owns the reference; the current object is not disturbed | |
| DLLLOCAL bool | isTemp () const |
| returns true if the value is temporary (needs dereferencing) | |
| DLLLOCAL | operator bool () const |
| returns true if the value is not NOTHING | |
| DLLLOCAL void | setValue (QoreValue nv) |
| assigns a new non-temporary value | |
| DLLLOCAL void | setValue (QoreValue nv, bool temp) |
| assigns a new value | |
| DLLLOCAL AbstractQoreNode * | takeNode (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 if necessary | |
| 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 QoreValue & | operator* () |
| returns the value being managed | |
| DLLLOCAL const QoreValue & | operator* () const |
| returns the value being managed | |
| DLLLOCAL QoreValue * | operator-> () |
| returns the value being managed | |
| DLLLOCAL const QoreValue * | operator-> () const |
| returns the value being managed | |
Additional Inherited Members | |
Protected Member Functions inherited from ValueEvalRefHolder | |
| DLLLOCAL int | evalIntern (const AbstractQoreNode *exp) |
| evaluates the argument, returns -1 for error, 0 = OK | |
| DLLLOCAL int | evalIntern (const QoreValue &exp) |
| evaluates the argument, returns -1 for error, 0 = OK | |
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 value held | |
| ExceptionSink * | xsink |
| for possible Qore-language exceptions | |
evaluates an AbstractQoreNode and dereferences the stored value in the destructor