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 final ICPPTemplateArgument[]
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the expansion pattern, if this is a pack expansion, or null otherwise.
    org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPEvaluation
    If this is a non-type value (suitable for a template non-type parameters), the evaluation object is returned.
    If this is a non-type value (suitable for a template non-type parameters), the value is returned.
    Similar to getTypeValue() but returns the original type value before typedef resolution.
    If this is a non-type value (suitable for a template non-type parameter), the type of the value is returned.
    If this is a type value (suitable for a template type and template template parameters), the type used as a value is returned.
    boolean
    Returns whether this is an integral value, suitable for a template non-type parameter.
    boolean
    Returns whether this template argument is a pack expansion or not.
    boolean
    Checks whether two arguments denote the same value.
    boolean
    Returns whether this is a type value, suitable for either a template type or a template template parameter.
  • Field Details

  • Method Details

    • 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.
      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, or null otherwise.
      Since:
      5.2