libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
qi::FunctionTypeInterfaceEq< T, S > Class Template Reference

#include <anyfunctionfactory.hxx>

Public Types

using ReturnType = typename boost::function_types::result_type< T >::type
 

Public Member Functions

 FunctionTypeInterfaceEq (unsigned long refMask)
 
void * call (void *storage, void **args, unsigned int argc) override
 
 _QI_BOUNCE_TYPE_METHODS (DefaultTypeImplMethods< S >)
 
- Public Member Functions inherited from qi::TypeInterface
virtual ~TypeInterface ()=default
 
virtual const TypeInfoinfo ()=0
 Get the TypeInfo corresponding to this type. More...
 
virtual void * initializeStorage (void *ptr=nullptr)=0
 
virtual void * ptrFromStorage (void **)=0
 
virtual void * clone (void *)=0
 Allocate a storage and copy the value given as an argument. More...
 
virtual void destroy (void *)=0
 Free all resources of a storage. More...
 
virtual TypeKind kind ()
 
virtual bool less (void *a, void *b)=0
 
const char * infoString ()
 
qi::Signature signature (void *storage=nullptr, bool resolveDynamic=false)
 
- Public Member Functions inherited from qi::CallableTypeInterface
 CallableTypeInterface ()
 
TypeInterfaceresultType ()
 
const std::vector
< TypeInterface * > & 
argumentsType ()
 
qi::Signature parametersSignature () const
 
qi::Signature returnSignature () const
 

Static Public Member Functions

static FunctionTypeInterfaceEq
< T, S > * 
make (unsigned long refMask, std::vector< TypeInterface * > argsType, TypeInterface *returnType)
 
- Static Public Member Functions inherited from qi::TypeInterface
static TypeInterfacefromSignature (const qi::Signature &sig)
 

Public Attributes

unsigned long refMask
 

Additional Inherited Members

- Protected Attributes inherited from qi::CallableTypeInterface
TypeInterface_resultType
 
std::vector< TypeInterface * > _argumentsType
 

Detailed Description

template<typename T, typename S>
class qi::FunctionTypeInterfaceEq< T, S >

Definition at line 368 of file anyfunctionfactory.hxx.

Member Typedef Documentation

template<typename T, typename S>
using qi::FunctionTypeInterfaceEq< T, S >::ReturnType = typename boost::function_types::result_type<T>::type

Definition at line 371 of file anyfunctionfactory.hxx.

Constructor & Destructor Documentation

template<typename T, typename S>
qi::FunctionTypeInterfaceEq< T, S >::FunctionTypeInterfaceEq ( unsigned long  refMask)
inline

Definition at line 372 of file anyfunctionfactory.hxx.

Member Function Documentation

template<typename T, typename S>
qi::FunctionTypeInterfaceEq< T, S >::_QI_BOUNCE_TYPE_METHODS ( DefaultTypeImplMethods< S >  )
template<typename T, typename S>
void* qi::FunctionTypeInterfaceEq< T, S >::call ( void *  storage,
void **  args,
unsigned int  argc 
)
inlineoverridevirtual

Call the function func with argument args that must be of the correct type.

Returns
the return value of type resultType(). This value is allocated and must be destroyed.

Implements qi::FunctionTypeInterface.

Definition at line 379 of file anyfunctionfactory.hxx.

template<typename T, typename S>
static FunctionTypeInterfaceEq<T, S>* qi::FunctionTypeInterfaceEq< T, S >::make ( unsigned long  refMask,
std::vector< TypeInterface * >  argsType,
TypeInterface returnType 
)
inlinestatic

Definition at line 415 of file anyfunctionfactory.hxx.

Member Data Documentation

template<typename T, typename S>
unsigned long qi::FunctionTypeInterfaceEq< T, S >::refMask

Definition at line 414 of file anyfunctionfactory.hxx.


The documentation for this class was generated from the following file: