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

#include <maptypeinterface.hxx>

Public Types

using MethodsImpl = DefaultTypeImplMethods< M, TypeByPointerPOD< M >>
 

Public Member Functions

 MapTypeInterfaceImpl ()
 
TypeInterfaceelementType () override
 Get the types of the values of the map. More...
 
TypeInterfacekeyType () override
 Get the types of the keys of the map. More...
 
size_t size (void *storage) override
 Return the number of elements in the map. More...
 
AnyIterator begin (void *storage) override
 Return an iterator pointing to the first key-value pair of the map. More...
 
AnyIterator end (void *storage) override
 
void insert (void **storage, void *keyStorage, void *valueStorage) override
 Set a key to a value and creates it if it does not exist. More...
 
AnyReference element (void **storage, void *keyStorage, bool autoInsert) override
 
 _QI_BOUNCE_TYPE_METHODS (MethodsImpl)
 
- Public Member Functions inherited from qi::MapTypeInterface
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)
 

Public Attributes

TypeInterface_keyType
 
TypeInterface_elementType
 

Additional Inherited Members

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

Detailed Description

template<typename M>
class qi::MapTypeInterfaceImpl< M >

Definition at line 13 of file maptypeinterface.hxx.

Member Typedef Documentation

Definition at line 17 of file maptypeinterface.hxx.

Constructor & Destructor Documentation

template<typename M >
qi::MapTypeInterfaceImpl< M >::MapTypeInterfaceImpl ( )

Definition at line 35 of file maptypeinterface.hxx.

Member Function Documentation

template<typename M>
qi::MapTypeInterfaceImpl< M >::_QI_BOUNCE_TYPE_METHODS ( MethodsImpl  )
template<typename M >
AnyIterator qi::MapTypeInterfaceImpl< M >::begin ( void *  storage)
overridevirtual

Return an iterator pointing to the first key-value pair of the map.

Implements qi::MapTypeInterface.

Definition at line 63 of file maptypeinterface.hxx.

template<typename M >
AnyReference qi::MapTypeInterfaceImpl< M >::element ( void **  storage,
void *  keyStorage,
bool  autoInsert 
)
overridevirtual

Get the value corresponding to the requested key

If the key does not exist and autoInsert is true, it is created, otherwise an invalid reference is returned.

Implements qi::MapTypeInterface.

Definition at line 90 of file maptypeinterface.hxx.

template<typename M >
TypeInterface * qi::MapTypeInterfaceImpl< M >::elementType ( )
overridevirtual

Get the types of the values of the map.

Implements qi::MapTypeInterface.

Definition at line 43 of file maptypeinterface.hxx.

template<typename M >
AnyIterator qi::MapTypeInterfaceImpl< M >::end ( void *  storage)
overridevirtual

Return an iterator pointing to one past the last key-value pair of the list (do not dereference this iterator!)

Implements qi::MapTypeInterface.

Definition at line 70 of file maptypeinterface.hxx.

template<typename M >
void qi::MapTypeInterfaceImpl< M >::insert ( void **  storage,
void *  keyStorage,
void *  valueStorage 
)
overridevirtual

Set a key to a value and creates it if it does not exist.

Implements qi::MapTypeInterface.

Definition at line 77 of file maptypeinterface.hxx.

template<typename M >
TypeInterface * qi::MapTypeInterfaceImpl< M >::keyType ( )
overridevirtual

Get the types of the keys of the map.

Implements qi::MapTypeInterface.

Definition at line 49 of file maptypeinterface.hxx.

template<typename M >
size_t qi::MapTypeInterfaceImpl< M >::size ( void *  storage)
overridevirtual

Return the number of elements in the map.

Implements qi::MapTypeInterface.

Definition at line 55 of file maptypeinterface.hxx.

Member Data Documentation

template<typename M>
TypeInterface* qi::MapTypeInterfaceImpl< M >::_elementType

Definition at line 28 of file maptypeinterface.hxx.

template<typename M>
TypeInterface* qi::MapTypeInterfaceImpl< M >::_keyType

Definition at line 27 of file maptypeinterface.hxx.


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