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 | List of all members
qi::TypeSimpleIteratorImpl< T > Class Template Reference

#include <listtypeinterface.hxx>

Public Types

using Storage = T
 
using TypeImpl = DefaultTypeImplMethods< Storage, TypeByPointerPOD< T >>
 

Public Member Functions

AnyReference dereference (void *storage) override
 
void next (void **storage) override
 Increment the iterator. More...
 
bool equals (void *s1, void *s2) override
 Check for iterator equality. More...
 
 _QI_BOUNCE_TYPE_METHODS (TypeImpl)
 
- Public Member Functions inherited from qi::IteratorTypeInterface
TypeKind kind () override
 
- 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 bool less (void *a, void *b)=0
 
const char * infoString ()
 
qi::Signature signature (void *storage=nullptr, bool resolveDynamic=false)
 

Static Public Member Functions

static AnyIterator make (const T &val)
 
- Static Public Member Functions inherited from qi::TypeInterface
static TypeInterfacefromSignature (const qi::Signature &sig)
 

Detailed Description

template<typename T>
class qi::TypeSimpleIteratorImpl< T >

Definition at line 36 of file listtypeinterface.hxx.

Member Typedef Documentation

template<typename T>
using qi::TypeSimpleIteratorImpl< T >::Storage = T

Definition at line 39 of file listtypeinterface.hxx.

Definition at line 56 of file listtypeinterface.hxx.

Member Function Documentation

template<typename T>
qi::TypeSimpleIteratorImpl< T >::_QI_BOUNCE_TYPE_METHODS ( TypeImpl  )
template<typename T>
AnyReference qi::TypeSimpleIteratorImpl< T >::dereference ( void *  storage)
inlineoverridevirtual

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.

Implements qi::IteratorTypeInterface.

Definition at line 40 of file listtypeinterface.hxx.

template<typename T>
bool qi::TypeSimpleIteratorImpl< T >::equals ( void *  s1,
void *  s2 
)
inlineoverridevirtual

Check for iterator equality.

Implements qi::IteratorTypeInterface.

Definition at line 50 of file listtypeinterface.hxx.

template<typename T>
static AnyIterator qi::TypeSimpleIteratorImpl< T >::make ( const T &  val)
inlinestatic

Definition at line 58 of file listtypeinterface.hxx.

template<typename T>
void qi::TypeSimpleIteratorImpl< T >::next ( void **  storage)
inlineoverridevirtual

Increment the iterator.

Implements qi::IteratorTypeInterface.

Definition at line 45 of file listtypeinterface.hxx.


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