libqi-api
2.8.7.4
|
#include <typeinterface.hpp>
Public Member Functions | |
virtual AnyReference | dereference (void *storage)=0 |
virtual void | next (void **storage)=0 |
Increment the iterator. More... | |
virtual bool | equals (void *s1, void *s2)=0 |
Check for iterator equality. 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 an iterator (on a list or a map)
Iterators become invalid if the parent container is destroyed and no method should be called in such a case.
Definition at line 164 of file typeinterface.hpp.
|
pure virtual |
Get the value pointed by the iterator
Returned reference is expected to point to somewhere in the iterator, or the container. It remains valid as long as the iterator is neither modified by next() nor destroyed, and the parent container is not destroyed.
Implemented in qi::TypeSimpleIteratorImpl< T >.
|
pure virtual |
Check for iterator equality.
Implemented in qi::TypeSimpleIteratorImpl< T >.
|
inlineoverridevirtual |
Get the kind of the data.
This is used to downcast the TypeInterface object to a specialized interface.
Reimplemented from qi::TypeInterface.
Definition at line 180 of file typeinterface.hpp.
|
pure virtual |
Increment the iterator.
Implemented in qi::TypeSimpleIteratorImpl< T >.