32#ifndef _QORE_QORENULLNODE_H
34#define _QORE_QORENULLNODE_H
36#include <qore/AbstractQoreNode.h>
53 DLLLOCAL
virtual bool getAsBoolImpl()
const;
56 DLLLOCAL
virtual int getAsIntImpl()
const;
59 DLLLOCAL
virtual int64 getAsBigIntImpl()
const;
62 DLLLOCAL
virtual double getAsFloatImpl()
const;
static bool is_null(const AbstractQoreNode *n)
use this function to test for NULL
Definition: QoreNullNode.h:129
static QoreNullNode * null()
returns a pointer to Null
Definition: QoreNullNode.h:138
DLLEXPORT QoreNullNode Null
the global and unique NULL value in Qore
The base class for all value and parse types in Qore expression trees.
Definition: AbstractQoreNode.h:57
DLLLOCAL qore_type_t getType() const
returns the data type
Definition: AbstractQoreNode.h:175
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:50
Qore's SQL "NULL" parse tree/value type, not-referenced counted, not dynamically allocated.
Definition: QoreNullNode.h:50
virtual DLLEXPORT const char * getTypeName() const
returns the type name as a c string
static DLLLOCAL const char * getStaticTypeName()
returns the type name (useful in templates)
Definition: QoreNullNode.h:116
DLLLOCAL QoreValue evalImpl(bool &needs_deref, ExceptionSink *xsink) const
should never be called for value types
virtual DLLEXPORT QoreString * getAsString(bool &del, int foff, class ExceptionSink *xsink) const
returns a QoreString with the text: "<NULL>"
virtual DLLEXPORT bool is_equal_hard(const AbstractQoreNode *v, ExceptionSink *xsink) const
tests for equality without type conversions (hard compare)
virtual DLLLOCAL int parseInit(QoreValue &val, QoreParseContext &parse_context)
returns the type information
virtual DLLEXPORT int getAsString(QoreString &str, int foff, class ExceptionSink *xsink) const
concatenate "<NULL>" to an existing QoreString
static DLLLOCAL qore_type_t getStaticTypeCode()
returns the type code (useful in templates)
Definition: QoreNullNode.h:121
virtual DLLEXPORT bool is_equal_soft(const AbstractQoreNode *v, ExceptionSink *xsink) const
tests for equality with possible type conversion (soft compare)
Qore's string type supported by the QoreEncoding class.
Definition: QoreString.h:93
virtual DLLEXPORT QoreValue evalImpl(bool &needs_deref, ExceptionSink *xsink) const
should never be called for value types
this class is for value types that will exists only once in the Qore library, reference counting is d...
Definition: AbstractQoreNode.h:389
int16_t qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode)
Definition: common.h:70
long long int64
64bit integer type, cannot use int64_t here since it breaks the API on some 64-bit systems due to equ...
Definition: common.h:260
const qore_type_t NT_NULL
type value for QoreNullNode
Definition: node_types.h:48
The main value class in Qore, designed to be passed by value.
Definition: QoreValue.h:276