|  | 
|  | Caster () | 
|  | Default constructor. Leaves the type undefined. 
 | 
|  | 
|  | Caster (const Caster &c) | 
|  | Copy constructor. Copies the type. 
 | 
|  | 
| void | link (void *p, const std::type_info &t) | 
|  | 
| template<class T > | 
| void | link (T *p) | 
|  | 
| template<class T > | 
| void | link (T &p) | 
|  | 
| void | setType (const std::type_info &t) | 
|  | Calls setType<T>() for which typeid(T) = t. 
 | 
|  | 
| template<class F > | 
| void | setType () | 
|  | Sets pointers to the type-dependent conversion functions. 
 | 
|  | 
| virtual bool | requestType (const std::type_info &t) | 
|  | Utility for derived classes, which may be able to adapt memory array type as well. 
 | 
|  | 
| void | unsetType () | 
|  | calls void setType<void>(). 
 | 
|  | 
| const std::type_info & | getType () const | 
|  | Returns type_info of the current type. 
 | 
|  | 
| bool | typeIsSet () const | 
|  | 
| size_t | getElementSize () const | 
|  | Returns the size of the base type (size of an element, not of element array). 
 | 
|  | 
| template<class T > | 
| void | put (void *p, const T &x) const | 
|  | Default conversion (for unconventional types). Uses std::stringstream for conversion. 
 | 
|  | 
| template<class T > | 
| void | put (const T &x) const | 
|  | Write to internal pointer using put(this->ptr, x). 
 | 
|  | 
| void | put (void *p, const char *x) const | 
|  | 
| void | put (const char *x) const | 
|  | Write to internal pointer, calls put(this->ptr, x). 
 | 
|  | 
| template<class T > | 
| T | get (const void *p) const | 
|  | Default implementation throws an error. See specialized implementation below. 
 | 
|  | 
| template<class T > | 
| T | get () const | 
|  | 
| void | translate (const Caster &c, const void *ptrC, void *ptr) const | 
|  | Convert from str pointer and Caster. 
 | 
|  | 
| void | translate (const Caster &c) const | 
|  | Convert from str Caster. 
 | 
|  | 
| bool | compare (const void *ptr, const Caster &c, const void *cPtr) const | 
|  | 
| std::istream & | fromStream (std::istream &istr, const void *p) const | 
|  | 
| std::ostream & | toOStream (std::ostream &ostr, const void *p) const | 
|  | Write data to output stream. 
 | 
|  | 
| std::ostream & | toOStream (std::ostream &ostr) const | 
|  | Write data to output stream. 
 | 
|  | 
| template<> | 
| void | link (Caster &c) | 
|  | 
| template<> | 
| void | put (void *p, const bool &x) const | 
|  | 
| template<> | 
| void | put (void *p, const char &x) const | 
|  | 
| template<> | 
| void | put (void *p, const unsigned char &x) const | 
|  | 
| template<> | 
| void | put (void *p, const int &x) const | 
|  | 
| template<> | 
| void | put (void *p, const unsigned int &x) const | 
|  | 
| template<> | 
| void | put (void *p, const long &x) const | 
|  | 
| template<> | 
| void | put (void *p, const unsigned long &x) const | 
|  | 
| template<> | 
| void | put (void *p, const float &x) const | 
|  | 
| template<> | 
| void | put (void *p, const double &x) const | 
|  | 
| template<> | 
| bool | get (const void *p) const | 
|  | 
| template<> | 
| char | get (const void *p) const | 
|  | 
| template<> | 
| unsigned char | get (const void *p) const | 
|  | 
| template<> | 
| short | get (const void *p) const | 
|  | 
| template<> | 
| unsigned short | get (const void *p) const | 
|  | 
| template<> | 
| int | get (const void *p) const | 
|  | 
| template<> | 
| unsigned int | get (const void *p) const | 
|  | 
| template<> | 
| long | get (const void *p) const | 
|  | 
| template<> | 
| unsigned long | get (const void *p) const | 
|  | 
| template<> | 
| float | get (const void *p) const | 
|  | 
| template<> | 
| double | get (const void *p) const | 
|  | 
|  | 
| template<class T , class F > | 
| static void | putT (void *p, const T &x) | 
|  | Convert input of base type to internally applied base type. 
 | 
|  | 
| template<class T > | 
| static void | putToVoidT (void *p, const T &x) | 
|  | Void - does nothing, regardless of input type. 
 | 
|  | 
| template<class T > | 
| static void | putToStringT (void *p, const T &x) | 
|  | A handler for converting input to a std::string. 
 | 
|  | 
| template<class T > | 
| static void | putToCasterT (void *p, const T &x) | 
|  | 
| template<class T , class F > | 
| static T | getT (const void *p) | 
|  | The main handler converting input to output. 
 | 
|  | 
| template<class T > | 
| static T | getFromVoidT (const void *p) | 
|  | This default implementation is for integral numeric types, returns zero. Specialisation for floats returns NAN. 
 | 
|  | 
| template<class T > | 
| static T | getFromStringT (const void *p) | 
|  | The main handler converting input to output. 
 | 
|  | 
| template<class F > | 
| static void | translateT (const Caster &c, const void *ptrC, void *ptr) | 
|  | Casts from ptrC to ptr. 
 | 
|  | 
| template<class F > | 
| static bool | compareT (const void *ptr, const Caster &c, const void *cPtr) | 
|  | Checks equality through base type casting. 
 | 
|  | 
| template<class F > | 
| static std::ostream & | toOStreamT (std::ostream &ostr, const void *p) | 
|  | Output. 
 | 
|  | 
| template<class F > | 
| static std::ostream & | toOStreamFloats (std::ostream &ostr, const void *p) | 
|  | 
| template<class F > | 
| static std::istream & | fromStreamT (std::istream &istr, const void *p) | 
|  | Output. 
 | 
|  | 
| template<> | 
| void | translateT (const Caster &c, const void *ptrC, void *ptr) | 
|  | 
| template<> | 
| void | translateT (const Caster &c, const void *ptrC, void *ptr) | 
|  | 
| template<> | 
| double | getFromVoidT (const void *p) | 
|  | Specialisation for floats returns NAN. 
 | 
|  | 
| template<> | 
| float | getFromVoidT (const void *p) | 
|  | 
| template<> | 
| bool | compareT (const void *ptr, const Caster &c, const void *cPtr) | 
|  | Semantics: no data, hence no bytes to be compared. 
 | 
|  | 
| template<> | 
| std::ostream & | toOStreamT (std::ostream &ostr, const void *p) | 
|  | Append nothing to the stream. 
 | 
|  | 
| template<> | 
| std::ostream & | toOStreamT (std::ostream &ostr, const void *p) | 
|  | Append 'true' or false to the stream. 
 | 
|  | 
| template<> | 
| std::ostream & | toOStreamT (std::ostream &ostr, const void *p) | 
|  | Append to the stream. 
 | 
|  | 
| template<> | 
| std::ostream & | toOStreamT (std::ostream &ostr, const void *p) | 
|  | 
| template<> | 
| std::ostream & | toOStreamT (std::ostream &ostr, const void *p) | 
|  | 
|  | 
| void(* | putBool )(void *p, const bool &x) | 
|  | 
| void(* | putInt )(void *p, const int &x) | 
|  | 
| void(* | putChar )(void *p, const char &x) | 
|  | 
| void(* | putUChar )(void *p, const unsigned char &x) | 
|  | 
| void(* | putUInt )(void *p, const unsigned int &x) | 
|  | 
| void(* | putShort )(void *p, const short &x) | 
|  | 
| void(* | putUShort )(void *p, const unsigned short &x) | 
|  | 
| void(* | putLong )(void *p, const long &x) | 
|  | 
| void(* | putULong )(void *p, const unsigned long &x) | 
|  | 
| void(* | putFloat )(void *p, const float &x) | 
|  | 
| void(* | putDouble )(void *p, const double &x) | 
|  | 
| char(* | getChar )(const void *p) | 
|  | 
| unsigned char(* | getUChar )(const void *p) | 
|  | 
| int(* | getInt )(const void *p) | 
|  | 
| unsigned int(* | getUInt )(const void *p) | 
|  | 
| short(* | getShort )(const void *p) | 
|  | 
| unsigned short(* | getUShort )(const void *p) | 
|  | 
| long(* | getLong )(const void *p) | 
|  | 
| unsigned long(* | getULong )(const void *p) | 
|  | 
| float(* | getFloat )(const void *p) | 
|  | 
| double(* | getDouble )(const void *p) | 
|  | 
| bool(* | getBool )(const void *p) | 
|  | 
| void(* | translatePtr )(const Caster &c, const void *ptrC, void *ptr) | 
|  | Convert from str pointer and Caster. 
 | 
|  | 
| bool(* | comparePtr )(const void *, const Caster &c, const void *) = nullptr | 
|  | 
| std::ostream &(* | toOStreamPtr )(std::ostream &ostr, const void *p) | 
|  | Write to stream. 
 | 
|  | 
| std::istream &(* | fromStreamPtr )(std::istream &istr, const void *p) = nullptr | 
|  | 
| const std::type_info * | type | 
|  | Current type. 
 | 
|  | 
| size_t | byteSize | 
|  | Size of target memory (target object) in bytes. 
 | 
|  |