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.
    • 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.
        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