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