libqi-api
2.8.7.4
|
#include <typeinterface.hpp>
Public Member Functions | |
virtual TypeInterface * | elementType ()=0 |
Get the type of the elements of the list. More... | |
virtual size_t | size (void *storage)=0 |
Return the number of elements in the list. More... | |
virtual AnyIterator | begin (void *storage)=0 |
Return an iterator pointing to the first element of the list. More... | |
virtual AnyIterator | end (void *storage)=0 |
virtual void | pushBack (void **storage, void *valueStorage)=0 |
Append an element to the end of the list. More... | |
virtual void * | element (void *storage, int index) |
Get the element at index. More... | |
TypeKind | kind () override |
![]() | |
virtual | ~TypeInterface ()=default |
virtual const TypeInfo & | info ()=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 bool | less (void *a, void *b)=0 |
const char * | infoString () |
qi::Signature | signature (void *storage=nullptr, bool resolveDynamic=false) |
Additional Inherited Members | |
![]() | |
static TypeInterface * | fromSignature (const qi::Signature &sig) |
Interface for a list of elements (like std::vector)
Elements must have the same types (may be dynamic)
Definition at line 188 of file typeinterface.hpp.
|
pure virtual |
Return an iterator pointing to the first element of the list.
Implemented in qi::VarArgsTypeInterfaceImpl< T >, qi::VarArgsTypeInterfaceImpl< qi::VarArguments< T > >, qi::ListTypeInterfaceImpl< std::set< T > >, qi::ListTypeInterfaceImpl< qi::VarArguments< T >::VectorType, VarArgsTypeInterface >, qi::ListTypeInterfaceImpl< std::vector< T > >, qi::ListTypeInterfaceImpl< std::list< T > >, and qi::ListTypeInterfaceImpl< T::VectorType, VarArgsTypeInterface >.
|
virtual |
Get the element at index.
|
pure virtual |
Get the type of the elements of the list.
Implemented in qi::ListTypeInterfaceImpl< std::set< T > >, qi::ListTypeInterfaceImpl< qi::VarArguments< T >::VectorType, VarArgsTypeInterface >, qi::ListTypeInterfaceImpl< std::vector< T > >, qi::ListTypeInterfaceImpl< std::list< T > >, and qi::ListTypeInterfaceImpl< T::VectorType, VarArgsTypeInterface >.
|
pure virtual |
Return an iterator pointing to one past the last element of the list (do not dereference this iterator!)
Implemented in qi::VarArgsTypeInterfaceImpl< T >, qi::VarArgsTypeInterfaceImpl< qi::VarArguments< T > >, qi::ListTypeInterfaceImpl< std::set< T > >, qi::ListTypeInterfaceImpl< qi::VarArguments< T >::VectorType, VarArgsTypeInterface >, qi::ListTypeInterfaceImpl< std::vector< T > >, qi::ListTypeInterfaceImpl< std::list< T > >, and qi::ListTypeInterfaceImpl< T::VectorType, VarArgsTypeInterface >.
|
inlineoverridevirtual |
Get the kind of the data.
This is used to downcast the TypeInterface object to a specialized interface.
Reimplemented from qi::TypeInterface.
Reimplemented in qi::VarArgsTypeInterface.
Definition at line 204 of file typeinterface.hpp.
|
pure virtual |
Append an element to the end of the list.
Implemented in qi::VarArgsTypeInterfaceImpl< T >, qi::VarArgsTypeInterfaceImpl< qi::VarArguments< T > >, qi::ListTypeInterfaceImpl< std::set< T > >, qi::ListTypeInterfaceImpl< qi::VarArguments< T >::VectorType, VarArgsTypeInterface >, qi::ListTypeInterfaceImpl< std::vector< T > >, qi::ListTypeInterfaceImpl< std::list< T > >, and qi::ListTypeInterfaceImpl< T::VectorType, VarArgsTypeInterface >.
|
pure virtual |
Return the number of elements in the list.
Implemented in qi::VarArgsTypeInterfaceImpl< T >, qi::VarArgsTypeInterfaceImpl< qi::VarArguments< T > >, qi::ListTypeInterfaceImpl< std::set< T > >, qi::ListTypeInterfaceImpl< qi::VarArguments< T >::VectorType, VarArgsTypeInterface >, qi::ListTypeInterfaceImpl< std::vector< T > >, qi::ListTypeInterfaceImpl< std::list< T > >, and qi::ListTypeInterfaceImpl< T::VectorType, VarArgsTypeInterface >.