Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPASTTemplateId
- All Superinterfaces:
IASTName
,IASTNameOwner
,IASTNode
,ICPPASTName
,ICPPASTNameSpecifier
,IName
- Restriction:
- This interface is not intended to be implemented by clients.
- Restriction:
- This interface is not intended to be extended by clients.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle
-
Field Summary
Modifier and TypeFieldDescriptionstatic final IASTNode[]
Deprecated.Use IASTNode.EMPTY_NODE_ARRAY instead.static final ASTNodeProperty
TEMPLATE_ID_ARGUMENT = template id argument.static final ASTNodeProperty
The template name in the template ID.Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTName
EMPTY_NAME_ARRAY
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
r_declaration, r_definition, r_reference, r_unclear
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
Fields inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNameSpecifier
EMPTY_NAME_SPECIFIER_ARRAY
Fields inherited from interface org.eclipse.cdt.core.dom.IName
EMPTY_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds an ambiguity node for later resolution.void
addTemplateArgument
(IASTExpression expression) Adds a template argument.void
addTemplateArgument
(IASTTypeId typeId) Adds template argument.copy()
Returns a mutable copy of the tree rooted at this node.copy
(IASTNode.CopyStyle style) Returns a mutable copy of the tree rooted at this node.IASTNode[]
Returns all template arguments as nodes.Returns the name of the template.void
setTemplateName
(IASTName name) Sets the name of the template.Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTName
getBinding, getCompletionContext, getImageLocation, getLastName, getLinkage, getLookupKey, getPreBinding, getRoleOfName, isQualified, resolveBinding, resolvePreBinding, setBinding, toCharArray, toString
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
getRoleForName
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent
Methods inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNameSpecifier
resolveBinding, resolvePreBinding, toCharArray
Methods inherited from interface org.eclipse.cdt.core.dom.IName
getFileLocation, getSimpleID, isDeclaration, isDefinition, isReference
-
Field Details
-
TEMPLATE_NAME
The template name in the template ID. -
TEMPLATE_ID_ARGUMENT
TEMPLATE_ID_ARGUMENT = template id argument. -
EMPTY_ARG_ARRAY
Deprecated.Use IASTNode.EMPTY_NODE_ARRAY instead.- Restriction:
- This field is not intended to be referenced by clients.
-
-
Method Details
-
getTemplateName
IASTName getTemplateName()Returns the name of the template.- Returns:
IASTName
-
setTemplateName
Sets the name of the template.- Parameters:
name
-IASTName
-
addTemplateArgument
Adds template argument.- Parameters:
typeId
-IASTTypeId
-
addTemplateArgument
Adds a template argument.- Parameters:
expression
-IASTExpression
-
addTemplateArgument
Adds an ambiguity node for later resolution.- Parameters:
ambiguity
-
-
getTemplateArguments
IASTNode[] getTemplateArguments()Returns all template arguments as nodes.- Returns:
- nodes representing the template arguments
-
copy
ICPPASTTemplateId 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 interfaceIASTName
- Specified by:
copy
in interfaceIASTNode
- Specified by:
copy
in interfaceICPPASTName
- Specified by:
copy
in interfaceICPPASTNameSpecifier
- Since:
- 5.1
-
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.- Specified by:
copy
in interfaceIASTName
- Specified by:
copy
in interfaceIASTNode
- Specified by:
copy
in interfaceICPPASTName
- Specified by:
copy
in interfaceICPPASTNameSpecifier
- Parameters:
style
-IASTNode.CopyStyle
create a copy with or without locations. Please seeIASTNode.CopyStyle
for restrictions on copies with Locations.- Since:
- 5.3
-