24 #ifndef _QORE_ABSTRACTQORENODE_H
26 #define _QORE_ABSTRACTQORENODE_H
29 #include <qore/QoreReferenceCounter.h>
36 #define FMT_YAML_SHORT -2
56 DLLLOCAL
virtual bool getAsBoolImpl()
const {
return false; }
62 DLLLOCAL
virtual int getAsIntImpl()
const {
return 0; }
68 DLLLOCAL
virtual int64 getAsBigIntImpl()
const {
return 0; }
74 DLLLOCAL
virtual double getAsFloatImpl()
const {
return 0.0; }
100 DLLEXPORT
virtual int64 bigIntEvalImpl(
ExceptionSink *xsink)
const;
107 DLLEXPORT
virtual int integerEvalImpl(
ExceptionSink *xsink)
const;
114 DLLEXPORT
virtual bool boolEvalImpl(
ExceptionSink *xsink)
const;
121 DLLEXPORT
virtual double floatEvalImpl(
ExceptionSink *xsink)
const;
136 DLLEXPORT
virtual void customRef()
const;
178 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);
294 DLLEXPORT
virtual const char *
getTypeName()
const = 0;
373 DLLEXPORT
void ref()
const;
411 DLLEXPORT
void deref();
465 DLLLOCAL
void *
operator new(size_t);