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

#include <elm/rtti/Class.h>

+ Inheritance diagram for InstanceClass:

Classes

class  instantiate
 

Public Member Functions

 InstanceClass (const make &m, const instantiate &i)
 
const InstanceTypeasInstance (void) const override
 
const Typetempl (void) const override
 
const List< const Type * > params (void) const override
 
- Public Member Functions inherited from AbstractClass
 AbstractClass (CString name, const AbstractClass &base)
 
 AbstractClass (const make &m)
 
 AbstractClass (const make &m, const AbstractClass &base)
 
const AbstractClassbase (void) const
 
virtual voidinstantiate (void) const =0
 
virtual void free (void *obj) const =0
 
bool baseOf (const AbstractClass *clazz)
 
virtual bool isClass (void) const
 
virtual const AbstractClassasClass (void) const
 
virtual voidupCast (void *ptr) const
 
virtual voiddownCast (void *ptr) const
 
virtual const TupletoTuple () const
 
voidupCast (void *ptr, const AbstractClass &cls) const
 
voiddownCast (void *ptr, const AbstractClass &cls) const
 
const voidupCast (const void *ptr) const
 
const voiddownCast (const void *ptr) const
 
const voidupCast (const void *ptr, const AbstractClass &cls) const
 
const voiddownCast (const void *ptr, const AbstractClass &cls) const
 
const List< Operation * > & operations (void) const
 
const List< const Type * > params (void) const
 
- Public Member Functions inherited from Type
 Type (string name="")
 
virtual ~Type (void)
 
string name (void) const
 
const PointerTypepointer (void) const
 
virtual bool canCast (const Type *t) const
 
virtual bool isVoid (void) const
 
virtual bool isBool (void) const
 
virtual bool isInt (void) const
 
virtual bool isFloat (void) const
 
virtual bool isPtr (void) const
 
virtual const PointerTypeasPtr (void) const
 
virtual bool isEnum (void) const
 
virtual const EnumerableasEnum (void) const
 
virtual bool isSerial (void) const
 
virtual const SerializableasSerial (void) const
 
virtual const TemplateTypeasTemplate (void) const
 
virtual const ParamTypeasParam (void) const
 
void initialize (void)
 
bool operator== (const Type &t) const
 
bool operator!= (const Type &t) const
 
- Public Member Functions inherited from InstanceType
virtual ~InstanceType (void)
 
const TypetypeFor (const Type &param) const
 

Additional Inherited Members

- Public Types inherited from Type
typedef HashMap< string, const Type * >::Iter TypeIter
 
- Static Public Member Functions inherited from Type
static const Typeget (string name)
 
static TypeIter types (void)
 
- Static Public Attributes inherited from Type
static const Typeparam0
 
static const Typeparam1
 
static const Typeparam2
 
static const Typeparam3
 

Detailed Description

RTTI representation of template class instantiated.

Constructor & Destructor Documentation

◆ InstanceClass()

InstanceClass ( const make m,
const instantiate i 
)

Build an instance of template class.

Parameters
mClass description.
iInstantiation information.

Member Function Documentation

◆ asInstance()

const InstanceType * asInstance ( void  ) const
overridevirtual

Get the template instance interface for this type. If this type is not a template instance, return null.

Returns
Instance interface or null.

Reimplemented from Type.

◆ params()

const List< const Type * > params ( void  ) const
overridevirtual

Get the list of actual parameter types.

Returns
List of actual parameter types.

Implements InstanceType.

◆ templ()

const Type & templ ( void  ) const
overridevirtual

Get the instantiated template type.

Returns
Instantiated template type.

Implements InstanceType.


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