00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _QORE_BIGINTNODE_H
00025
00026 #define _QORE_BIGINTNODE_H
00027
00028 #include <qore/AbstractQoreNode.h>
00029
00030 class LocalVar;
00031
00033 class QoreBigIntNode : public SimpleValueQoreNode {
00034 private:
00036 DLLLOCAL virtual bool getAsBoolImpl() const;
00037
00039 DLLLOCAL virtual int getAsIntImpl() const;
00040
00042 DLLLOCAL virtual int64 getAsBigIntImpl() const;
00043
00045 DLLLOCAL virtual double getAsFloatImpl() const;
00046
00047 protected:
00048 DLLEXPORT virtual ~QoreBigIntNode();
00049
00050
00051 DLLEXPORT QoreBigIntNode(qore_type_t t, int64 v);
00052
00053 public:
00055 int64 val;
00056
00058 DLLEXPORT QoreBigIntNode();
00059
00061
00064 DLLEXPORT QoreBigIntNode(int64 v);
00065
00067
00071 DLLEXPORT virtual QoreString *getStringRepresentation(bool &del) const;
00072
00074
00077 DLLEXPORT virtual void getStringRepresentation(QoreString &str) const;
00078
00080
00084 DLLEXPORT virtual DateTime *getDateTimeRepresentation(bool &del) const;
00085
00087
00090 DLLEXPORT virtual void getDateTimeRepresentation(DateTime &dt) const;
00091
00093
00099 DLLEXPORT virtual int getAsString(QoreString &str, int foff, ExceptionSink *xsink) const;
00100
00102
00109 DLLEXPORT virtual QoreString *getAsString(bool &del, int foff, ExceptionSink *xsink) const;
00110
00111 DLLEXPORT virtual AbstractQoreNode *realCopy() const;
00112
00114
00118 DLLEXPORT virtual bool is_equal_soft(const AbstractQoreNode *v, ExceptionSink *xsink) const;
00119
00121
00125 DLLEXPORT virtual bool is_equal_hard(const AbstractQoreNode *v, ExceptionSink *xsink) const;
00126
00128 DLLEXPORT virtual const char *getTypeName() const;
00129
00131 DLLEXPORT virtual AbstractQoreNode *parseInit(LocalVar *oflag, int pflag, int &lvids, const QoreTypeInfo *&typeInfo);
00132
00133 DLLLOCAL static const char *getStaticTypeName() {
00134 return "integer";
00135 }
00136 };
00137
00138 #endif