libqi-api
2.8.7.4
|
#include <anyfunctionfactory.hxx>
Public Member Functions | |
AnyReferenceCopy & | operator() () |
![]() | |
AnyReference () | |
AnyReference (const AnyReferenceBase &rhs) | |
AnyReference (TypeInterface *type) | |
AnyReference (TypeInterface *type, void *value) | |
![]() | |
qi::Signature | signature (bool resolveDynamic=false) const |
TypeKind | kind () const |
AnyReference | unwrap () const |
void | update (const AutoAnyReference &b) |
template<typename T > | |
void | set (const T &val) |
Update the value to val, which will be converted if required. More... | |
void | set (int64_t v) |
void | set (int32_t v) |
void | set (uint64_t v) |
void | set (uint32_t v) |
void | set (float v) |
void | set (double v) |
void | set (const std::string &v) |
void | setInt (int64_t v) |
void | setUInt (uint64_t v) |
void | setFloat (float v) |
void | setDouble (double v) |
void | setString (const std::string &v) |
void | setDynamic (const AnyReference &value) |
void | setOptional (const boost::optional< AnyReference > &opt) |
void | setOptional (const AnyReference &opt) |
void | setRaw (const char *buffer, size_t size) |
void | setTuple (const AnyReferenceVector &values) |
void | resetOptional () |
TypeInterface * | type () const |
std::vector< TypeInterface * > | membersType () const |
void * | rawValue () const |
template<> | |
void | to () const |
template<typename T > | |
T | to () const |
Convert to anything or throw trying. More... | |
template<typename T > | |
T | to (const T &) const |
Similar to previous method, but uses a dummy value to get the target type. More... | |
int64_t | toInt () const |
uint64_t | toUInt () const |
float | toFloat () const |
double | toDouble () const |
std::string | toString () const |
template<typename T > | |
std::vector< T > | toList () const |
template<typename K , typename V > | |
std::map< K, V > | toMap () const |
AnyObject | toObject () const |
template<typename T > | |
boost::optional< T > | toOptional () const |
AnyValue | toTuple (bool homogeneous) const |
template<typename T > | |
T & | as () |
int64_t & | asInt64 () |
uint64_t & | asUInt64 () |
int32_t & | asInt32 () |
uint32_t & | asUInt32 () |
int16_t & | asInt16 () |
uint16_t & | asUInt16 () |
int8_t & | asInt8 () |
uint8_t & | asUInt8 () |
double & | asDouble () |
float & | asFloat () |
std::string & | asString () |
std::pair< char *, size_t > | asRaw () const |
boost::optional< AnyReference > | asOptional () const |
AnyReference | content () const |
AnyReferenceVector | asTupleValuePtr () |
AnyReferenceVector | asListValuePtr () |
std::map< AnyReference, AnyReference > | asMapValuePtr () |
template<typename K > | |
AnyReference | operator[] (const K &key) |
AnyReference | operator[] (const AnyReference &key) |
template<typename E , typename K > | |
E & | element (const K &key) |
Call operator[](key).as<E>, element type must match E. More... | |
template<typename K > | |
AnyReference | at (const K &key) |
template<typename K > | |
AnyReference | at (const K &key) const |
AnyReference | at (const AnyReference &key) |
AnyReference | at (const AnyReference &key) const |
size_t | size () const |
bool | optionalHasValue () const |
template<typename T > | |
void | append (const T &element) |
void | append (const AnyReference &element) |
template<typename K , typename V > | |
void | insert (const K &key, const V &val) |
void | insert (const AnyReference &key, const AnyReference &val) |
template<typename K > | |
AnyReference | find (const K &key) |
AnyIterator | begin () const |
Return an iterator on the beginning of the container. More... | |
AnyIterator | end () const |
Return an iterator on the end of the container. More... | |
AnyReference | operator* () const |
Dereference pointer, iterator or dynamic. More... | |
UniqueAnyReference | convert (TypeInterface *targetType) const |
UniqueAnyReference | convert (ListTypeInterface *targetType) const |
UniqueAnyReference | convert (StructTypeInterface *targetType) const |
UniqueAnyReference | convert (MapTypeInterface *targetType) const |
UniqueAnyReference | convert (IntTypeInterface *targetType) const |
UniqueAnyReference | convert (FloatTypeInterface *targetType) const |
UniqueAnyReference | convert (RawTypeInterface *targetType) const |
UniqueAnyReference | convert (StringTypeInterface *targetType) const |
UniqueAnyReference | convert (PointerTypeInterface *targetType) const |
UniqueAnyReference | convert (DynamicTypeInterface *targetType) const |
UniqueAnyReference | convert (OptionalTypeInterface *targetType) const |
template<typename T > | |
T * | ptr (bool check=true) |
bool | isValid () const |
bool | isValue () const |
AnyReference | convertCopy (TypeInterface *targetType) const |
Helper function that converts and always clone. More... | |
AnyReference | clone () const |
void | destroy () |
Deletes storage. More... | |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static AnyReference | from (const T &ref) |
template<typename T > | |
static AnyReference | fromPtr (const T *ptr) |
![]() | |
AnyReferenceBase () | |
Constructs an invalid reference, pointing to nothing. More... | |
AnyReferenceBase (TypeInterface *type) | |
AnyReferenceBase (TypeInterface *type, void *value) | |
AnyReference | _element (const AnyReference &key, bool throwOnFailure, bool autoInsert) |
![]() | |
TypeInterface * | _type |
void * | _value |
This class can be used to convert the return value of an arbitrary function into a AnyReference. It handles functions returning void.
Usage: ValueCopy val; val(), functionCall(arg);
in val(), parenthesis are useful to avoid compiler warning "val not used" when handling void.
Definition at line 233 of file anyfunctionfactory.hxx.
|
inline |
Definition at line 236 of file anyfunctionfactory.hxx.