Package org.eclipse.cdt.core.dom.ast.cpp
Interface ICPPASTDeductionGuide
-
- All Superinterfaces:
IASTDeclaration,IASTNode,ICPPASTParameterListOwner
public interface ICPPASTDeductionGuide extends IASTDeclaration, ICPPASTParameterListOwner
A C++ class-template argument deduction guidee.g:
SomeTemplateName(int) -> SomeTemplateName<float>; template<typename I> SomeTemplateName(I, I) -> SomeTemplateName<typename std::iterator_traits<I>::value_type>;
- Since:
- 7.0
- 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
Fields Modifier and Type Field Description static ASTNodePropertyPARAMETERPARAMETERrepresents the relationship between anICPPASTDeductionGuideand it's nestedIASTParameterDeclaration.static ASTNodePropertyTEMPLATE_IDTEMPLATE_IDrepresents the relationship between anICPPASTDeductionGuideand it's nestedICPPASTTemplateId.static ASTNodePropertyTEMPLATE_NAMETEMPLATE_NAMErepresents the relationship between anICPPASTDeductionGuideand it's nestedIASTName.-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTDeclaration
EMPTY_DECLARATION_ARRAY
-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ICPPASTDeductionGuidecopy()Returns a mutable copy of the tree rooted at this node.ICPPASTDeductionGuidecopy(IASTNode.CopyStyle style)Returns a mutable copy of the tree rooted at this node.ICPPASTTemplateIdgetSimpleTemplateId()Get the template id of the deduction guideIASTNamegetTemplateName()Get the name of the template type the deduction guide refers tobooleanisExplicit()Check if the deduction guide was declared as 'explicit'.voidsetExplicit(boolean isExplict)Set whether or not the deduction guide is marked explicitvoidsetSimpleTemplateId(ICPPASTTemplateId id)Set the template id of the deduction guidevoidsetTemplateName(IASTName name)Set the name of the template type the deduction guide refers to-
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.ICPPASTParameterListOwner
addParameterDeclaration, getParameters, setVarArgs, takesVarArgs
-
-
-
-
Field Detail
-
TEMPLATE_NAME
static final ASTNodeProperty TEMPLATE_NAME
TEMPLATE_NAMErepresents the relationship between anICPPASTDeductionGuideand it's nestedIASTName.
-
TEMPLATE_ID
static final ASTNodeProperty TEMPLATE_ID
TEMPLATE_IDrepresents the relationship between anICPPASTDeductionGuideand it's nestedICPPASTTemplateId.
-
PARAMETER
static final ASTNodeProperty PARAMETER
PARAMETERrepresents the relationship between anICPPASTDeductionGuideand it's nestedIASTParameterDeclaration.
-
-
Method Detail
-
isExplicit
boolean isExplicit()
Check if the deduction guide was declared as 'explicit'.
-
setExplicit
void setExplicit(boolean isExplict)
Set whether or not the deduction guide is marked explicit
-
getTemplateName
IASTName getTemplateName()
Get the name of the template type the deduction guide refers to
-
setTemplateName
void setTemplateName(IASTName name)
Set the name of the template type the deduction guide refers to
-
getSimpleTemplateId
ICPPASTTemplateId getSimpleTemplateId()
Get the template id of the deduction guide
-
setSimpleTemplateId
void setSimpleTemplateId(ICPPASTTemplateId id)
Set the template id of the deduction guide
-
copy
ICPPASTDeductionGuide copy()
Description copied from interface:IASTNodeReturns 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:
copyin interfaceIASTDeclaration- Specified by:
copyin interfaceIASTNode
-
copy
ICPPASTDeductionGuide copy(IASTNode.CopyStyle style)
Description copied from interface:IASTNodeReturns 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:
copyin interfaceIASTDeclaration- Specified by:
copyin interfaceIASTNode- Parameters:
style-IASTNode.CopyStylecreate a copy with or without locations. Please seeIASTNode.CopyStylefor restrictions on copies with Locations.
-
-