Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPTemplateArgument
-
public interface ICPPTemplateArgument
Models 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 ICPPTemplateArgument
getExpansionPattern()
Returns the expansion pattern, if this is a pack expansion, ornull
otherwise.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.IValue
getNonTypeValue()
If this is a non-type value (suitable for a template non-type parameters), the value is returned.IType
getOriginalTypeValue()
Similar togetTypeValue()
but returns the original type value before typedef resolution.IType
getTypeOfNonTypeValue()
If this is a non-type value (suitable for a template non-type parameter), the type of the value is returned.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.boolean
isNonTypeValue()
Returns whether this is an integral value, suitable for a template non-type parameter.boolean
isPackExpansion()
Returns whether this template argument is a pack expansion or not.boolean
isSameValue(ICPPTemplateArgument arg)
Checks whether two arguments denote the same value.boolean
isTypeValue()
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,null
is 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,null
is 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,null
is 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,null
is 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, ornull
otherwise.- Since:
- 5.2
-
-