Elm  2
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
InstanceType Class Referenceabstract

#include <elm/rtti/Type.h>

+ Inheritance diagram for InstanceType:

Public Member Functions

virtual ~InstanceType (void)
 
virtual const Typetempl (void) const =0
 
virtual const List< const Type * > params (void) const =0
 
const TypetypeFor (const Type &param) const
 

Detailed Description

Type resulting from the instantiation of a template type.

Constructor & Destructor Documentation

◆ ~InstanceType()

~InstanceType ( void  )
virtual

Member Function Documentation

◆ params()

const List< const Type * > params ( void  ) const
pure virtual

Get the list of actual parameter types.

Returns
List of actual parameter types.

Implemented in InstanceClass.

Referenced by InstanceType::typeFor().

◆ templ()

const Type & templ ( void  ) const
pure virtual

Get the instantiated template type.

Returns
Instantiated template type.

Implemented in InstanceClass.

Referenced by InstanceType::typeFor().

◆ typeFor()

const Type & typeFor ( const Type param) const

Get the actual type of a type involved in an instantiated type. If param is a parameter type, get the corresponding actual parameter type. Else return the type itself.

Parameters
paramType to process.
Returns
Corresponding actual type.

References Type::asParam(), elm::count(), elm::io::p(), InstanceType::params(), and InstanceType::templ().


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