Qore's "NOTHING" parse tree/value type, not-referenced counted, not dynamically allocated.  
 More...
 | 
| virtual DLLEXPORT QoreString *  | getAsString (bool &del, int foff, class ExceptionSink *xsink) const | 
|   | returns a QoreString with the text: "<NOTHING>"  More...
  | 
|   | 
| virtual DLLEXPORT int  | getAsString (QoreString &str, int foff, class ExceptionSink *xsink) const | 
|   | concatenate "<NOTHING>" to an existing QoreString  More...
  | 
|   | 
| 
virtual const DLLEXPORT char *  | getTypeName () const | 
|   | returns the type name as a c string 
  | 
|   | 
| virtual DLLEXPORT bool  | is_equal_hard (const AbstractQoreNode *v, ExceptionSink *xsink) const | 
|   | tests for equality without type conversions (hard compare)  More...
  | 
|   | 
| virtual DLLEXPORT bool  | is_equal_soft (const AbstractQoreNode *v, ExceptionSink *xsink) const | 
|   | tests for equality with possible type conversion (soft compare)  More...
  | 
|   | 
| 
virtual DLLLOCAL void  | parseInit (QoreValue &val, LocalVar *oflag, int pflag, int &lvids, const QoreTypeInfo *&typeInfo) | 
|   | returns the type information 
  | 
|   | 
| 
DLLLOCAL  | UniqueValueQoreNode (const UniqueValueQoreNode &) | 
|   | copy constructor 
  | 
|   | 
| 
DLLLOCAL  | UniqueValueQoreNode (qore_type_t t) | 
|   | constructor takes the type argument 
  | 
|   | 
| 
DLLLOCAL void *  | operator new (size_t)=delete | 
|   | this function is not implemented; it is here as a private function in order to prohibit it from being used 
  | 
|   | 
| 
DLLLOCAL UniqueValueQoreNode &  | operator= (const UniqueValueQoreNode &)=delete | 
|   | this function is not implemented 
  | 
|   | 
| 
virtual DLLEXPORT AbstractQoreNode *  | realCopy () const | 
|   | returns itself; objects of this type are not reference-counted and only deleted manually (by static destruction) 
  | 
|   | 
| 
DLLLOCAL  | SimpleValueQoreNode (qore_type_t t, bool n_there_can_be_only_one=false) | 
|   | creates the object by assigning the type code and setting the "value" flag, unsetting the "needs_eval" flag, and setting "there_can_be_only_one" 
  | 
|   | 
| 
DLLLOCAL  | SimpleQoreNode (const SimpleQoreNode &v) | 
|   | copy constructor 
  | 
|   | 
| 
DLLLOCAL  | SimpleQoreNode (qore_type_t t, bool n_value, bool n_needs_eval, bool n_there_can_be_only_one=false) | 
|   | constructor takes the type and value arguments 
  | 
|   | 
| DLLEXPORT void  | deref (ExceptionSink *xsink) | 
|   | decrements the reference count and deletes the object when references = 0  More...
  | 
|   | 
| 
SimpleQoreNode &  | operator= (const SimpleQoreNode &)=delete | 
|   | this function is not implemented 
  | 
|   | 
| 
DLLEXPORT  | AbstractQoreNode (const AbstractQoreNode &v) | 
|   | copy constructor 
  | 
|   | 
| DLLEXPORT  | AbstractQoreNode (qore_type_t t, bool n_value, bool n_needs_eval, bool n_there_can_be_only_one=false, bool n_custom_reference_handlers=false) | 
|   | constructor takes the type  More...
  | 
|   | 
| virtual DLLEXPORT void  | customDeref (ExceptionSink *xsink) | 
|   | 
| virtual DLLEXPORT void  | customRef () const | 
|   | special processing when the object's reference count transitions from 0-1  More...
  | 
|   | 
| DLLEXPORT void  | deref (ExceptionSink *xsink) | 
|   | decrements the reference count and calls derefImpl() if there_can_be_only_one is false, otherwise does nothing  More...
  | 
|   | 
| virtual DLLEXPORT bool  | derefImpl (ExceptionSink *xsink) | 
|   | decrements the reference count  More...
  | 
|   | 
| DLLEXPORT QoreValue  | eval (bool &needs_deref, ExceptionSink *xsink) const | 
|   | optionally evaluates the argument  More...
  | 
|   | 
| DLLEXPORT QoreValue  | eval (ExceptionSink *xsink) const | 
|   | evaluates the object and returns a value (or 0)  More...
  | 
|   | 
| DLLEXPORT int64  | getAsBigInt () const | 
|   | returns the 64-bit integer value of the object  More...
  | 
|   | 
| virtual DLLLOCAL int64  | getAsBigIntImpl () const | 
|   | default implementation, returns 0  More...
  | 
|   | 
| DLLEXPORT bool  | getAsBool () const | 
|   | returns the boolean value of the object  More...
  | 
|   | 
| virtual DLLLOCAL bool  | getAsBoolImpl () const | 
|   | default implementation, returns false  More...
  | 
|   | 
| DLLEXPORT double  | getAsFloat () const | 
|   | returns the float value of the object  More...
  | 
|   | 
| virtual DLLLOCAL double  | getAsFloatImpl () const | 
|   | default implementation, returns 0.0  More...
  | 
|   | 
| DLLEXPORT int  | getAsInt () const | 
|   | returns the integer value of the object  More...
  | 
|   | 
| virtual DLLLOCAL int  | getAsIntImpl () const | 
|   | default implementation, returns 0  More...
  | 
|   | 
| virtual DLLEXPORT class DateTime *  | getDateTimeRepresentation (bool &del) const | 
|   | returns the DateTime representation of this type (default implementation: returns ZeroDate, del = false)  More...
  | 
|   | 
| virtual DLLEXPORT void  | getDateTimeRepresentation (DateTime &dt) const | 
|   | assigns the date representation of a value to the DateTime reference passed, default implementation does nothing  More...
  | 
|   | 
| virtual DLLEXPORT QoreString *  | getStringRepresentation (bool &del) const | 
|   | returns the value of the type converted to a string, default implementation: returns the empty string  More...
  | 
|   | 
| virtual DLLEXPORT void  | getStringRepresentation (QoreString &str) const | 
|   | concatentates the value of the type to an existing QoreString reference, default implementation does nothing  More...
  | 
|   | 
| DLLLOCAL qore_type_t  | getType () const | 
|   | returns the data type  More...
  | 
|   | 
| DLLLOCAL bool  | is_value () const | 
|   | returns true if the node represents a value  More...
  | 
|   | 
| 
DLLLOCAL bool  | isReferenceCounted () const | 
|   | returns true if the object is reference-counted 
  | 
|   | 
| DLLLOCAL bool  | needs_eval () const | 
|   | returns true if the object needs evaluation to return a value, false if not  More...
  | 
|   | 
| 
DLLLOCAL AbstractQoreNode &  | operator= (const AbstractQoreNode &) | 
|   | this function is not implemented; it is here as a private function in order to prohibit it from being used 
  | 
|   | 
| 
DLLEXPORT void  | ref () const | 
|   | increments the reference count 
  | 
|   | 
| DLLEXPORT AbstractQoreNode *  | refSelf () const | 
|   | returns "this" with an incremented reference count  More...
  | 
|   | 
| 
DLLEXPORT  | QoreReferenceCounter () | 
|   | creates the reference counter object 
  | 
|   | 
| DLLEXPORT  | QoreReferenceCounter (const QoreReferenceCounter &old) | 
|   | creates a new object with a reference count of 1  More...
  | 
|   | 
| 
DLLEXPORT  | ~QoreReferenceCounter () | 
|   | destroys the reference counter object 
  | 
|   | 
| DLLEXPORT bool  | is_unique () const | 
|   | returns true if the reference count is 1  More...
  | 
|   | 
| DLLEXPORT int  | reference_count () const | 
|   | gets the reference count  More...
  | 
|   | 
| DLLEXPORT bool  | ROdereference () const | 
|   | atomically decrements the reference count  More...
  | 
|   | 
| 
DLLEXPORT void  | ROreference () const | 
|   | atomically increments the reference count 
  | 
|   | 
Qore's "NOTHING" parse tree/value type, not-referenced counted, not dynamically allocated. 
This class cannot be instantiated; there will only be one single QoreNothingNode object instantiated and used everywhere in the Qore library. Use the nothing() function or simply &Nothing to acquire a pointer to an object of this class. This value can be represented in Qore code as the keyword "NOTHING" 
- Note
 - Qore's "NULL" is not equal to "NOTHING" 
 
- 
in C++ code, use the is_nothing() function to test an AbstractQoreNode* to see if it's "NOTHING" (because also a null pointer is equivalent to NOTHING) 
 
- See also
 - QoreNullNode