Interface ICPPASTTemplatedTypeTemplateParameter

  • All Superinterfaces:
    IASTNameOwner, IASTNode, ICPPASTTemplateParameter

    public interface ICPPASTTemplatedTypeTemplateParameter
    extends ICPPASTTemplateParameter, IASTNameOwner
    This is a template template parameter as V in template<template<typename T> class V> class CT;
    Restriction:
    This interface is not intended to be implemented by clients.
    Restriction:
    This interface is not intended to be extended by clients.
    • Field Detail

      • PARAMETER

        static final ASTNodeProperty PARAMETER
        Relation between template template parameter and its (nested) template parameters.
      • PARAMETER_NAME

        static final ASTNodeProperty PARAMETER_NAME
        Relation between template template parameter and its name.
      • DEFAULT_VALUE

        static final ASTNodeProperty DEFAULT_VALUE
        Relation between template template parameter and its default value.
      • tt_class

        static final int tt_class
        tt_class represents a class.
        Since:
        6.6
        See Also:
        Constant Field Values
      • tt_typename

        static final int tt_typename
        tt_typename represents a typename.
        Since:
        6.6
        See Also:
        Constant Field Values
    • Method Detail

      • getParameterType

        int getParameterType()
        Get the type of the template-template parameter (either tt_class or tt_typename).
        Since:
        6.6
      • getName

        IASTName getName()
        Get the (optional) name of this template template parameter. In case there is no name an empty name is returned.
      • getDefaultValue

        IASTExpression getDefaultValue()
        Get default value for template template parameter or null.
      • copy

        ICPPASTTemplatedTypeTemplateParameter copy()
        Description copied from interface: IASTNode
        Returns a mutable copy of the tree rooted at this node. The following postconditions hold:
         copy.getParent() == null
         copy.getPropertyInParent() == null
         copy.isFrozen() == false
         
        Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.

        Calling this method is equivalent to copy(CopyStyle.withoutLocations).

        Specified by:
        copy in interface IASTNode
        Specified by:
        copy in interface ICPPASTTemplateParameter
        Since:
        5.1
      • copy

        ICPPASTTemplatedTypeTemplateParameter copy​(IASTNode.CopyStyle style)
        Description copied from interface: IASTNode
        Returns a mutable copy of the tree rooted at this node. The following postconditions hold:
         copy.getParent() == null
         copy.getPropertyInParent() == null
         copy.isFrozen() == false
         
        Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.
        Specified by:
        copy in interface IASTNode
        Specified by:
        copy in interface ICPPASTTemplateParameter
        Parameters:
        style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
        Since:
        5.3
      • addTemplateParameter

        void addTemplateParameter​(ICPPASTTemplateParameter parm)
        Add a nested template parameter.
        Since:
        5.3
      • setIsParameterPack

        void setIsParameterPack​(boolean val)
        Set whether this template template parameter is a parameter pack.
        Since:
        5.2
      • setParameterType

        void setParameterType​(int type)
        Set the type of the template-template parameter.
        Parameters:
        type - The type of the template-template parameter (either tt_class or tt_typename)
        Since:
        6.6
      • setName

        void setName​(IASTName name)
        Set the name of this template template parameter.
      • setDefaultValue

        void setDefaultValue​(IASTExpression expression)
        Set default value for the template template parameter.
      • asScope

        ICPPScope asScope()
        Returns the scope that contains the template parameters of this template-template parameter.
        Since:
        5.4