Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPTemplateArgument
-
public interface ICPPTemplateArgumentModels the value of a template parameter or for the argument of a template-id. Such a value can either be a type-value, or an integral value.- Since:
- 5.1
- Restriction:
- This interface is not intended to be implemented by clients.
- Restriction:
- This interface is not intended to be extended by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static ICPPTemplateArgument[]EMPTY_ARGUMENTS
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ICPPTemplateArgumentgetExpansionPattern()Returns the expansion pattern, if this is a pack expansion, ornullotherwise.org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPEvaluationgetNonTypeEvaluation()If this is a non-type value (suitable for a template non-type parameters), the evaluation object is returned.IValuegetNonTypeValue()If this is a non-type value (suitable for a template non-type parameters), the value is returned.ITypegetOriginalTypeValue()Similar togetTypeValue()but returns the original type value before typedef resolution.ITypegetTypeOfNonTypeValue()If this is a non-type value (suitable for a template non-type parameter), the type of the value is returned.ITypegetTypeValue()If this is a type value (suitable for a template type and template template parameters), the type used as a value is returned.booleanisNonTypeValue()Returns whether this is an integral value, suitable for a template non-type parameter.booleanisPackExpansion()Returns whether this template argument is a pack expansion or not.booleanisSameValue(ICPPTemplateArgument arg)Checks whether two arguments denote the same value.booleanisTypeValue()Returns whether this is a type value, suitable for either a template type or a template template parameter.
-
-
-
Field Detail
-
EMPTY_ARGUMENTS
static final ICPPTemplateArgument[] EMPTY_ARGUMENTS
-
-
Method Detail
-
isNonTypeValue
boolean isNonTypeValue()
Returns whether this is an integral value, suitable for a template non-type parameter.
-
isTypeValue
boolean isTypeValue()
Returns whether this is a type value, suitable for either a template type or a template template parameter.
-
getTypeValue
IType getTypeValue()
If this is a type value (suitable for a template type and template template parameters), the type used as a value is returned. For non-type values,nullis returned. The returned type has all typedefs resolved.
-
getOriginalTypeValue
IType getOriginalTypeValue()
Similar togetTypeValue()but returns the original type value before typedef resolution.- Since:
- 5.5
-
getNonTypeEvaluation
org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPEvaluation getNonTypeEvaluation()
If this is a non-type value (suitable for a template non-type parameters), the evaluation object is returned. For type values,nullis returned.- Restriction:
- This method is not intended to be referenced by clients.
-
getNonTypeValue
IValue getNonTypeValue()
If this is a non-type value (suitable for a template non-type parameters), the value is returned. For type values,nullis returned.
-
getTypeOfNonTypeValue
IType getTypeOfNonTypeValue()
If this is a non-type value (suitable for a template non-type parameter), the type of the value is returned. For type values,nullis returned.
-
isSameValue
boolean isSameValue(ICPPTemplateArgument arg)
Checks whether two arguments denote the same value.
-
isPackExpansion
boolean isPackExpansion()
Returns whether this template argument is a pack expansion or not.- Since:
- 5.2
-
getExpansionPattern
ICPPTemplateArgument getExpansionPattern()
Returns the expansion pattern, if this is a pack expansion, ornullotherwise.- Since:
- 5.2
-
-