Eclipse CDT
7.0

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

Field Summary
static ICPPTemplateArgument[] EMPTY_ARGUMENTS
           
 
Method Summary
 ICPPTemplateArgument getExpansionPattern()
          Returns the expansion pattern, if this is a pack expansion, or null 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 to getTypeValue() 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 to getTypeValue() 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.


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, or null otherwise.

Since:
5.2

Eclipse CDT
7.0

Copyright (c) IBM Corp. and others 2004, 2012. All Rights Reserved.