|
Qore Programming Language
0.8.3
|
Qore's SQL "NOTHING" parse tree/value type, not-referenced counted, not dynamically allocated. More...
#include <QoreNothingNode.h>
Public Member Functions | |
| virtual DLLEXPORT int | getAsString (QoreString &str, int foff, class ExceptionSink *xsink) const |
| concatenate "<NOTHING>" to an existing QoreString | |
| virtual DLLEXPORT QoreString * | getAsString (bool &del, int foff, class ExceptionSink *xsink) const |
| returns a QoreString with the text: "<NOTHING>" | |
| virtual DLLEXPORT bool | is_equal_soft (const AbstractQoreNode *v, ExceptionSink *xsink) const |
| tests for equality with possible type conversion (soft compare) | |
| virtual DLLEXPORT bool | is_equal_hard (const AbstractQoreNode *v, ExceptionSink *xsink) const |
| tests for equality without type conversions (hard compare) | |
| virtual DLLEXPORT const char * | getTypeName () const |
| returns the type name as a c string | |
| virtual DLLLOCAL AbstractQoreNode * | parseInit (LocalVar *oflag, int pflag, int &lvids, const QoreTypeInfo *&typeInfo) |
| returns the type information | |
Protected Member Functions | |
| DLLLOCAL AbstractQoreNode * | evalImpl (ExceptionSink *xsink) const |
| should never be called for value types | |
Qore's SQL "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"
| DLLLOCAL AbstractQoreNode* QoreNothingNode::evalImpl | ( | ExceptionSink * | xsink | ) | const [protected, virtual] |
should never be called for value types
in debugging builds of the library, calls to this function will abort
Reimplemented from SimpleValueQoreNode.
| virtual DLLEXPORT int QoreNothingNode::getAsString | ( | QoreString & | str, |
| int | foff, | ||
| class ExceptionSink * | xsink | ||
| ) | const [virtual] |
concatenate "<NOTHING>" to an existing QoreString
used for n and N printf formatting
| str | the string representation of the type will be concatenated to this QoreString reference |
| foff | for multi-line formatting offset, -1 = no line breaks |
| xsink | if an error occurs, the Qore-language exception information will be added here |
Implements AbstractQoreNode.
| virtual DLLEXPORT QoreString* QoreNothingNode::getAsString | ( | bool & | del, |
| int | foff, | ||
| class ExceptionSink * | xsink | ||
| ) | const [virtual] |
returns a QoreString with the text: "<NOTHING>"
used for n and N printf formatting
| del | is always set to true for this implementation of the function, meaning that the returned QoreString pointer should be deleted |
| foff | for multi-line formatting offset, -1 = no line breaks (ignored by this version of the function) |
| xsink | ignored by this version of the function NOTE: Use the QoreNodeAsStringHelper class (defined in QoreStringNode.h) instead of using this function directly |
Implements AbstractQoreNode.
| virtual DLLEXPORT bool QoreNothingNode::is_equal_hard | ( | const AbstractQoreNode * | v, |
| ExceptionSink * | xsink | ||
| ) | const [virtual] |
tests for equality without type conversions (hard compare)
| v | the value to compare |
| xsink | ignored for this version of the function |
Implements AbstractQoreNode.
| virtual DLLEXPORT bool QoreNothingNode::is_equal_soft | ( | const AbstractQoreNode * | v, |
| ExceptionSink * | xsink | ||
| ) | const [virtual] |
tests for equality with possible type conversion (soft compare)
since no type can be implicitly converted to NOTHING, this comparison is the same as is_equal_hard() for QoreNothingNode
| v | the value to compare |
| xsink | ignored for this version of the function |
Implements AbstractQoreNode.