Qore's arbitrary-precision number value type, dynamically-allocated only, reference counted.
More...
|
DLLEXPORT | QoreNumberNode (const AbstractQoreNode *n) |
| creates a new number value from the node, if not possible then the new number will be assigned 0
|
|
DLLEXPORT | QoreNumberNode (double f) |
| creates a new number value and assigns the initial value to it More...
|
|
DLLEXPORT | QoreNumberNode (int64 i) |
| creates a new number value and assigns the initial value to it More...
|
|
DLLEXPORT | QoreNumberNode (const char *str) |
| creates a new number value and assigns the initial value to it More...
|
|
DLLEXPORT | QoreNumberNode (const char *str, unsigned prec) |
| creates a new number value and assigns the initial value to it More...
|
|
DLLEXPORT | QoreNumberNode () |
| creates a new numbering-point value and assigns it to 0
|
|
DLLEXPORT | QoreNumberNode (const QoreNumberNode &old) |
| creates a copy of the object
|
|
DLLEXPORT int | compare (const QoreNumberNode &n) const |
| compares the argument to the current object, returns -1 if the current object is less than the argument, 0 if equals, and 1 if greater than the argument
|
|
DLLEXPORT int | compare (int64 n) const |
| compares the argument to the current object, returns -1 if the current object is less than the argument, 0 if equals, and 1 if greater than the argument
|
|
DLLEXPORT int | compare (double n) const |
| compares the argument to the current object, returns -1 if the current object is less than the argument, 0 if equals, and 1 if greater than the argument
|
|
DLLEXPORT QoreNumberNode * | doDivideBy (const QoreNumberNode &n, ExceptionSink *xsink) const |
| add the argument to this value and return the result
|
|
DLLEXPORT QoreNumberNode * | doMinus (const QoreNumberNode &n) const |
| add the argument to this value and return the result
|
|
DLLEXPORT QoreNumberNode * | doMultiply (const QoreNumberNode &n) const |
| add the argument to this value and return the result
|
|
DLLEXPORT QoreNumberNode * | doPlus (const QoreNumberNode &n) const |
| add the argument to this value and return the result
|
|
virtual DLLEXPORT int | getAsString (QoreString &str, int foff, class ExceptionSink *xsink) const |
| concatenate the string representation of the number value to an existing QoreString More...
|
|
virtual DLLEXPORT QoreString * | getAsString (bool &del, int foff, class ExceptionSink *xsink) const |
| returns a QoreString giving the string representation of the number value, sets del to true More...
|
|
virtual DLLEXPORT class DateTime * | getDateTimeRepresentation (bool &del) const |
| returns the DateTime representation of this value and sets del to true More...
|
|
virtual DLLEXPORT void | getDateTimeRepresentation (DateTime &dt) const |
| assigns the date representation of the value to the DateTime reference passed More...
|
|
DLLEXPORT unsigned | getPrec () const |
| returns the precision of the number
|
|
virtual DLLEXPORT QoreString * | getStringRepresentation (bool &del) const |
| returns the number value converted to a string and sets del to true More...
|
|
virtual DLLEXPORT void | getStringRepresentation (QoreString &str) const |
| concatentates the number value to an existing QoreString reference, default implementation does nothing More...
|
|
virtual DLLEXPORT const char * | getTypeName () const |
| returns the type name as a c string More...
|
|
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...
|
|
DLLEXPORT QoreNumberNode * | negate () const |
| returns the negative of the current object (this)
|
|
DLLEXPORT QoreNumberNode * | numberRefSelf () const |
| returns a pointer to this with the reference count incremented
|
|
virtual DLLLOCAL AbstractQoreNode * | parseInit (LocalVar *oflag, int pflag, int &lvids, const QoreTypeInfo *&typeInfo) |
| returns the type information
|
|
virtual DLLEXPORT AbstractQoreNode * | realCopy () const |
| returns a copy of the object; the caller owns the reference count More...
|
|
DLLEXPORT int | sign () const |
| returns -1 if the number is negative, 0 if zero, or 1 if the number is positive
|
|
DLLEXPORT void | toString (QoreString &str, int fmt=QORE_NF_DEFAULT) const |
| concatenates the string value corresponding to the number to the string given More...
|
|
DLLEXPORT bool | zero () const |
| returns true if the number is zero
|
|
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 (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
|
|
DLLLOCAL | SimpleQoreNode (const SimpleQoreNode &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...
|
|
DLLEXPORT | AbstractQoreNode (const AbstractQoreNode &v) |
| copy constructor
|
|
DLLEXPORT int64 | bigIntEval (ExceptionSink *xsink) const |
| evaluates the object and returns a 64-bit integer value More...
|
|
DLLEXPORT bool | boolEval (ExceptionSink *xsink) const |
| evaluates the object and returns a boolean value 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...
|
|
DLLEXPORT AbstractQoreNode * | eval (ExceptionSink *xsink) const |
| evaluates the object and returns a value (or 0) More...
|
|
DLLEXPORT AbstractQoreNode * | eval (bool &needs_deref, ExceptionSink *xsink) const |
| optionally evaluates the argument More...
|
|
DLLEXPORT double | floatEval (ExceptionSink *xsink) const |
| evaluates the object and returns a floating-point value More...
|
|
DLLEXPORT int64 | getAsBigInt () const |
| returns the 64-bit integer value of the object More...
|
|
DLLEXPORT bool | getAsBool () const |
| returns the boolean value of the object More...
|
|
DLLEXPORT double | getAsFloat () const |
| returns the float value of the object More...
|
|
DLLEXPORT int | getAsInt () const |
| returns the integer value of the object More...
|
|
DLLLOCAL qore_type_t | getType () const |
| returns the data type More...
|
|
DLLEXPORT int | integerEval (ExceptionSink *xsink) const |
| evaluates the object and returns an integer value 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...
|
|
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 () |
| destroys the reference counter object
|
|
DLLLOCAL bool | is_unique () const |
| returns true if the reference count is 1 More...
|
|
DLLLOCAL 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 arbitrary-precision number value type, dynamically-allocated only, reference counted.