diff options
Diffstat (limited to 'include/value.h')
-rw-r--r-- | include/value.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/include/value.h b/include/value.h index f2850c9..fce8750 100644 --- a/include/value.h +++ b/include/value.h @@ -112,6 +112,12 @@ public: Value(struct _zval_struct *zval, bool ref = false); /** + * Wrap around a hash table + * @param ht Hashtable to wrap + */ + Value(struct _hashtable *ht); + + /** * Wrap around an object implemented by us * @param object Object to be wrapped */ @@ -375,9 +381,15 @@ public: /** * Retrieve the value as number - * @return long + * + * We force this to be a int64_t because we assume that most + * servers run 64 bits nowadays, and because we use int32_t, int64_t + * almost everywhere, instead of 'long' and on OSX neither of + * these intxx_t types is defined as 'long'... + * + * @return int64_t */ - long numericValue() const; + int64_t numericValue() const; /** * Retrieve the value as boolean @@ -846,6 +858,18 @@ protected: struct _zval_struct *detach(); /** + * Attach a different zval + * + * This will first detach the current zval, and link the Value object to + * a different zval. Versions exist to attach to a zval and to an entire + * hash table + * + * @param val + */ + void attach(struct _zval_struct *val); + void attach(struct _hashtable *hashtable); + + /** * Set a certain property without running any checks (you must already know * for sure that this is an array, and that the index is not yet in use) * @@ -874,6 +898,7 @@ protected: friend class Member; friend class ClassBase; friend class Iterator; + friend class Extension; }; /** |