libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
qi::OptionalTypeInterface Class Referenceabstract

#include <typeinterface.hpp>

Public Member Functions

virtual TypeInterfacevalueType ()=0
 Get the type of the optional element. More...
 
virtual bool hasValue (void *storage)=0
 Return true if the optional has a value, false if not. More...
 
virtual AnyReference value (void *storage)=0
 Get the optional value or a default constructed AnyReference if no value is set. More...
 
virtual void set (void **storage, void *valueStorage)=0
 Set the optional value. More...
 
virtual void reset (void **storage)=0
 Resets the optional value, making the optional empty. More...
 
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)
 

Additional Inherited Members

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

Detailed Description

Type that either is empty or contains a value.

Definition at line 334 of file typeinterface.hpp.

Member Function Documentation

virtual bool qi::OptionalTypeInterface::hasValue ( void *  storage)
pure virtual

Return true if the optional has a value, false if not.

Implemented in qi::OptionalTypeInterfaceImpl< O >, and qi::OptionalTypeInterfaceImpl< boost::optional< T > >.

TypeKind qi::OptionalTypeInterface::kind ( )
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 347 of file typeinterface.hpp.

virtual void qi::OptionalTypeInterface::reset ( void **  storage)
pure virtual

Resets the optional value, making the optional empty.

Implemented in qi::OptionalTypeInterfaceImpl< O >, and qi::OptionalTypeInterfaceImpl< boost::optional< T > >.

virtual void qi::OptionalTypeInterface::set ( void **  storage,
void *  valueStorage 
)
pure virtual
virtual AnyReference qi::OptionalTypeInterface::value ( void *  storage)
pure virtual

Get the optional value or a default constructed AnyReference if no value is set.

Implemented in qi::OptionalTypeInterfaceImpl< O >, and qi::OptionalTypeInterfaceImpl< boost::optional< T > >.

virtual TypeInterface* qi::OptionalTypeInterface::valueType ( )
pure virtual

Get the type of the optional element.

Implemented in qi::OptionalTypeInterfaceImpl< O >, and qi::OptionalTypeInterfaceImpl< boost::optional< T > >.


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