Puma Reference Manual | Puma: Puma::CTemplateParamInfo Class Reference |
#include <Puma/CTemplateParamInfo.h>
There are three kinds of template parameter: type, non-type, and template template parameter.
// T is a type template parameter // I is a non-type template parameter // TT is a template template parameter template<class T, int I, template<typename,int> class TT> class X { TT<T,I> x; };
Public Member Functions | |
CTemplateParamInfo () | |
Constructor. | |
~CTemplateParamInfo () | |
Destructor. | |
bool | isTemplate () const |
Check if this is a template template parameter. | |
bool | isTypeParam () const |
Check if this is a type template parameter. | |
CTemplateInfo * | TemplateInfo () const |
Get the template parameters of a template template parameter. | |
CTemplateInfo * | TemplateTemplate () const |
Get the template information of a template template parameter. | |
CT_TemplateParamDecl * | Tree () const |
Get the syntax tree node representing the template parameter. | |
CT_ExprList * | DefaultArgument () const |
Get the default argument of the template parameter. | |
CTypeTemplateParam * | TypeInfo () const |
Get the template parameter type. | |
CTypeInfo * | ValueType () const |
Get the value type of a type template parameter. | |
CTemplateInstance * | TemplateInstance () const |
Get the template instance information for an instantiated template template parameter. | |
int | getPosition () const |
Get the position/index of this parameter in the template parameter list. | |
void | isTypeParam (bool v) |
Set whether this is a type template parameter. | |
void | ValueType (CTypeInfo *type) |
Set the value type of a type template parameter. | |
void | TemplateInfo (CTemplateInfo *info) |
Set the template parameter list information for a template template parameter. | |
void | TemplateTemplate (CTemplateInfo *info) |
Set the template information for a template template parameter. | |
void | TemplateInstance (CTemplateInstance *inst) |
Set the template instance information for an instantiated template template parameter. |
Puma::CTemplateParamInfo::CTemplateParamInfo | ( | ) | [inline] |
Constructor.
Puma::CTemplateParamInfo::~CTemplateParamInfo | ( | ) |
Destructor.
If the object type is CObjectInfo::TEMPLATE_PARAM_INFO, then CObjectInfo::CleanUp() is called and the template instance information object of a template template parameter is destroyed.
bool Puma::CTemplateParamInfo::isTemplate | ( | ) | const [inline] |
bool Puma::CTemplateParamInfo::isTypeParam | ( | ) | const [inline] |
Check if this is a type template parameter.
CTemplateInfo * Puma::CTemplateParamInfo::TemplateInfo | ( | ) | const [inline] |
CTemplateInfo * Puma::CTemplateParamInfo::TemplateTemplate | ( | ) | const [inline] |
Get the template information of a template template parameter.
CT_TemplateParamDecl * Puma::CTemplateParamInfo::Tree | ( | ) | const [inline] |
CT_ExprList* Puma::CTemplateParamInfo::DefaultArgument | ( | ) | const |
Get the default argument of the template parameter.
CTypeTemplateParam * Puma::CTemplateParamInfo::TypeInfo | ( | ) | const [inline] |
CTypeInfo * Puma::CTemplateParamInfo::ValueType | ( | ) | const [inline] |
Get the value type of a type template parameter.
CTemplateInstance * Puma::CTemplateParamInfo::TemplateInstance | ( | ) | const [inline] |
Get the template instance information for an instantiated template template parameter.
Reimplemented from Puma::CObjectInfo.
int Puma::CTemplateParamInfo::getPosition | ( | ) | const |
Get the position/index of this parameter in the template parameter list.
void Puma::CTemplateParamInfo::isTypeParam | ( | bool | v | ) | [inline] |
Set whether this is a type template parameter.
v | True for yes, false for no. |
void Puma::CTemplateParamInfo::ValueType | ( | CTypeInfo * | type | ) | [inline] |
Set the value type of a type template parameter.
type | The value type. |
void Puma::CTemplateParamInfo::TemplateInfo | ( | CTemplateInfo * | info | ) | [inline] |
Set the template parameter list information for a template template parameter.
info | The template parameter list information. |
void Puma::CTemplateParamInfo::TemplateTemplate | ( | CTemplateInfo * | info | ) | [inline] |
Set the template information for a template template parameter.
info | The template information. |
void Puma::CTemplateParamInfo::TemplateInstance | ( | CTemplateInstance * | inst | ) | [inline] |
Set the template instance information for an instantiated template template parameter.
inst | The template instance. |