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, isGloballyQualifiedgetLinkage, getName, getNameCharArray, getOwner, getScopestatic final ICPPTemplateParameter[] EMPTY_TEMPLATE_PARAMETER_ARRAY
short getParameterPosition()
short getTemplateNestingLevel()
The nesting level is determined by counting enclosing template declarations, for example:
namespace ns {
template class 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.