public interface ICPPTemplateParameter extends ICPPBinding
Modifier and Type | Field and Description |
---|---|
static ICPPTemplateParameter[] |
EMPTY_TEMPLATE_PARAMETER_ARRAY |
EMPTY_BINDING_ARRAY
Modifier and Type | Method and Description |
---|---|
ICPPTemplateArgument |
getDefaultValue()
Returns the default value for this template parameter, or
null . |
int |
getParameterID()
Returns
(getTemplateNestingLevel() << 16) + getParameterPosition() . |
short |
getParameterPosition()
Returns the zero-based position of this parameter within the template parameter list it belongs to.
|
short |
getTemplateNestingLevel()
Returns the nesting-level of the template declaration this parameter belongs to.
|
boolean |
isParameterPack()
Returns whether this template parameter is a parameter pack.
|
getQualifiedName, getQualifiedNameCharArray, isGloballyQualified
getLinkage, getName, getNameCharArray, getOwner, getScope
static final ICPPTemplateParameter[] EMPTY_TEMPLATE_PARAMETER_ARRAY
short getParameterPosition()
short getTemplateNestingLevel()
The nesting level is determined by counting enclosing template declarations, for example:
namespace ns { templateclass X { // nesting level 0 template class Y1 { // nesting level 1 }; class Y2 { template typename class Z { // nesting level 1 void m(); }; }; }; } template // nesting level 0 template // nesting level 1 void ns::X ::Y2::Z ::m() {}
int getParameterID()
(getTemplateNestingLevel() << 16) + getParameterPosition()
.ICPPTemplateArgument getDefaultValue()
null
.boolean isParameterPack()
Copyright (c) IBM Corp. and others 2004, 2014. All Rights Reserved.