# Package org.eclipse.cdt.core.dom.ast.cpp

package org.eclipse.cdt.core.dom.ast.cpp

Related Packages
Package
Description
org.eclipse.cdt.core.dom.ast
org.eclipse.cdt.core.dom.ast.c
org.eclipse.cdt.core.dom.ast.gnu
org.eclipse.cdt.core.dom.ast.ms
org.eclipse.cdt.core.dom.ast.tag
Class
Description
CPPASTVisitor
Deprecated.
you can use `ASTVisitor`, instead.
ICPPAliasTemplate
Represents an alias template (14.5.7).
ICPPAliasTemplateInstance
Represents an instance of an alias template (14.5.7).
ICPPASTAliasDeclaration
Represents a C++ alias declaration.
ICPPASTAlignmentSpecifier
A C++ alignment-specifier.
ICPPASTAmbiguousTemplateArgument
Place-holder in the AST for template arguments that are not yet understood.
ICPPASTArrayDeclarator
Array declarator for C++
ICPPASTArrayDesignator
Array designator, e.g.
ICPPASTArraySubscriptExpression
ICPPASTAttribute
Represents a C++11 (ISO/IEC 14882:2011 7.6) attribute.
ICPPASTAttributeList
Represents a C++11 (ISO/IEC 14882:2011 7.6.1 [dcl.attr.grammar]) attribute specifier of the form [[ attribute-list ]].
ICPPASTBinaryExpression
C++ adds a few more binary expressions over C.
ICPPASTCapture
Capture for a lambda expression, introduced in C++0x.
ICPPASTCastExpression
C++ adds in additional cast-style expressions.
ICPPASTCatchHandler
Catch handler used for try block statements or for functions with try block.
ICPPASTClassVirtSpecifier
A class-virt-specifier after a class name.
ICPPASTClassVirtSpecifier.SpecifierKind
ICPPASTCompositeTypeSpecifier
ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier
Base specifiers are where a class expresses from whom it inherits.
ICPPASTCompoundStatement
Represents a block of statements in C++.
ICPPASTConstructorChainInitializer
Represents a member initializer:
ICPPASTConstructorInitializer
Represents a potentially empty list of initializers in parenthesis: ( initializer-list? )
ICPPASTConversionName
This interface represents a C++ conversion member function.
ICPPASTDeclarator
Declarator for c++.
ICPPASTDeclSpecifier
C++ adds additional modifiers and types for decl specifier sequence.
ICPPASTDecltypeSpecifier
C++ AST node for decltype-specifiers.
ICPPASTDeductionGuide
Deduction guide, introduced in C++17.
ICPPASTDeleteExpression
This interface represents a delete expression.
ICPPASTDesignatedInitializer
This interface represents a designated initializer, e.g.
ICPPASTDesignator
Base interface for all C-style designators.
ICPPASTElaboratedTypeSpecifier
Elaborated types specifier in C++ [dcl.type.elab].
ICPPASTEnumerationSpecifier
`enum struct : unsigned int {...}`
ICPPASTEnumerationSpecifier.ScopeStyle
ICPPASTExplicitTemplateInstantiation
This interface represents an explicit template instantiation.
ICPPASTExpression
Interface for C++ expressions.
ICPPASTExpressionList
ICPPASTFieldDeclarator
Field declarator for c++.
ICPPASTFieldDesignator
Specific designator that represents a field reference.
ICPPASTFieldReference
Certain field references in C++ require the use the keyword template to specify the parse.
ICPPASTFoldExpression
Fold expression, introduced in C++17.
ICPPASTForStatement
The C++ 'for' statement.
ICPPASTFunctionCallExpression
ICPPASTFunctionDeclarator
C++ adds a few things to function declarators.
ICPPASTFunctionDeclarator.RefQualifier
ICPPASTFunctionDefinition
In c++ the a function definition for a constructor may contain member initializers.
ICPPASTFunctionTryBlockDeclarator
Deprecated.
Use `ICPPASTFunctionWithTryBlock`, instead.
ICPPASTFunctionWithTryBlock
Models a function defined with a try block, which is a function definition:
ICPPASTIfStatement
The 'if' statement including the optional else clause.
ICPPASTInitCapture
Init capture for a lambda expression, introduced in C++14.
ICPPASTInitializerClause
C++ specific initializer clause.
ICPPASTInitializerList
Braced initializer list.
ICPPASTLambdaExpression
Lambda expression, introduced in C++11.
ICPPASTLambdaExpression.CaptureDefault
The capture default can be by copy, by reference or unspecified.
ICPPASTLinkageSpecification
This interface represents a linkage specification.
ICPPASTLiteralExpression
C++ adds additional literal types to primary expression.
ICPPASTName
AST node for names in C++ translation units.
ICPPASTNamedTypeSpecifier
C++ adds the capability of qualifying a named type specifier w/the keyword typename.
ICPPASTNamespaceAlias
This interface represents a namespace alias in C++, e.g.
ICPPASTNamespaceDefinition
This interface represents a namespace definition in C++.
ICPPASTNameSpecifier
AST node for elements of the qualifier in a qualified name.
ICPPASTNaryTypeIdExpression
A type-id expression with any number of arguments.
ICPPASTNaryTypeIdExpression.Operator
ICPPASTNewExpression
This interface represents a new expression.
ICPPASTOperatorName
This interface represents a C++ overloaded operator member function name.
ICPPASTPackExpandable
Interface for nodes that can potentially be pack-expansions.
ICPPASTPackExpansionExpression
Pack expansion as it can occur as an element in an expression-lists or as a non-type template argument.
ICPPASTParameterDeclaration
ICPPASTPointerToMember
This is a pointer to member pointer operator for declarators.
ICPPASTQualifiedName
This interface is a qualified name in C++.
ICPPASTRangeBasedForStatement
Represents a range-based 'for' loop.
ICPPASTReferenceOperator
This is C++'s reference operator, i.e.
ICPPASTSimpleDeclSpecifier
This interface represents a built-in type in C++.
ICPPASTSimpleTypeConstructorExpression
Functional cast expressions: simple-type-specifier (expression-list?) simple-type-specifier braced-init-list typename-specifier (expression-list?) typename-specifier braced-init-list
ICPPASTSimpleTypeTemplateParameter
This interface represents a simple type template parameter.
ICPPASTStaticAssertDeclaration
Models static assertions: `static_assert(false, "message");`
ICPPASTStructuredBindingDeclaration
This is a structured binding declaration which contains a sequence names, in square brackets, that decompose an initializer.
ICPPASTSwitchStatement
ICPPASTTemplateDeclaration
Template declaration.
ICPPASTTemplatedTypeTemplateParameter
This is a template template parameter as `V` in `template<template<typename T> class V> class CT;`
ICPPASTTemplateId
ICPPASTTemplateName
This interface represents template names which use the template disambiguator keyword.
ICPPASTTemplateParameter
Base interface for all template parameters.
ICPPASTTemplateSpecialization
This interface represents a template specialization.
ICPPASTTranslationUnit
ICPPASTTryBlockStatement
This interface represents the try block statement.
ICPPASTTypeId
Type ids in C++.
ICPPASTTypeIdExpression
ICPPASTTypenameExpression
Deprecated.
Unified with `ICPPASTSimpleTypeConstructorExpression`.
ICPPASTTypeTransformationSpecifier
A decl-specifier that represents the application of an intrinsic type transformation operator like __underlying_type(T).
ICPPASTUnaryExpression
ICPPASTUsingDeclaration
This interface represents a using declaration.
ICPPASTUsingDirective
This interface represents a C++ using directive.
ICPPASTVirtSpecifier
A virt-specifier at the end of a function declaration.
ICPPASTVirtSpecifier.SpecifierKind
ICPPASTVisibilityLabel
C++ allows for visibility labels to be mixed with declarations in class specifiers.
ICPPASTVisitor
Interface for visitors to visit c-specific nodes.
ICPPASTWhileStatement
This interface accommodates C++ allows for broader while loop syntax.
ICPPBase
Represents the relationship between a class and one of its base classes.
ICPPBasicType
ICPPBinding
ICPPBlockScope
ICPPClassConstructorDeductionGuide
Marker for deduction guide synthesized from class constructor
ICPPClassConstructorTemplateDeductionGuide
Marker for deduction guide synthesized from class constructor template
ICPPClassScope
Interface for class scopes.
ICPPClassSpecialization
Specializations of all sorts of class types.
ICPPClassTemplate
ICPPClassTemplatePartialSpecialization
This interface represents a class template partial specialization.
ICPPClassTemplatePartialSpecializationSpecialization
Interface for specializations of partial specializations.
ICPPClassType
Represents a C++ class.
ICPPConstructor
ICPPConstructorSpecialization
Binding for specializations of constructors.
ICPPCopyDeductionCandidate
Marker for copy deduction candidate used with Class Template Argument Deduction, introduced in C++17.
ICPPDeductionGuide
Deduction guide, introduced in C++17.
ICPPDeferredFunction
Represents a reference to a function which cannot be resolved because an argument depends on a template parameter.
ICPPDeferredTemplateInstance
Deprecated.
use `ICPPDeferredClassInstance` instead.
ICPPEnumeration
C++ specific version of enumerations.
ICPPEnumerationSpecialization
ICPPEnumScope
Interface for enumeration scopes.
ICPPField
ICPPFieldTemplate
A field template.
ICPPFunction
Binding for c++ functions.
ICPPFunctionInstance
This interface represents an instantiation or an explicit specialization of a function template.
ICPPFunctionScope
ICPPFunctionSpecialization
Binding for specializations of functions.
ICPPFunctionTemplate
Interface for function templates
ICPPFunctionType
ICPPMember
Represents a member of a class.
ICPPMethod
Base interface for methods, also used for constructors.
ICPPMethodSpecialization
Specialization of a method.
ICPPNamespace
This interface represents a C++ namespace
ICPPNamespaceAlias
ICPPNamespaceScope
A namespace scope is either a block-scope or a namespace-scope or global scope.
ICPPNodeFactory
Factory for AST nodes for the C++ programming language.
ICPPParameter
ICPPParameterPackType
A parameter pack is not actually a type, however we model it as such in order to be able to represent function-types that contain parameter packs.
ICPPPartiallySpecializable
Something that can be partially specialized.
ICPPPartialSpecialization
A partially specialized variable or class template.
ICPPPointerToMemberType
ICPPReferenceType
ICPPScope
ICPPSpecialization
For an instantiation of a class template, the members of that instantiation will be specializations of the members of the original class template.
ICPPTemplateArgument
Models the value of a template parameter or for the argument of a template-id.
ICPPTemplateDefinition
Base interface for all template definitions including explicit (partial) specializations.
ICPPTemplateInstance
This interface represents an instantiation or an explicit specialization of a class or a function template.
ICPPTemplateNonTypeParameter
Interface for template non type parameters.
ICPPTemplateParameter
Base interface for all template parameters (non-type, type and template).
ICPPTemplateParameterMap
Models the mapping of template parameters to values, or pack-expansions.
ICPPTemplateScope
A separate template scope is used for each template declaration.
ICPPTemplateTemplateParameter
Template parameters of type template.
ICPPTemplateTypeParameter
ICPPTypeSpecialization
A common interface for ICPPClassSpecialization and ICPPEnumerationSpecialization.
ICPPUnaryTypeTransformation
A type used to represent the result of applying an unary type transformation operator like __underlying_type(T).
ICPPUnaryTypeTransformation.Operator
Identifies the type transformation operator being applied.
ICPPUserDefinedDeductionGuide
Marker for user-defined deduction guide for Class Template Argument Deduction, introduced in C++17.
ICPPUsingDeclaration
A using declaration introduces a name into the declarative region in which it appears, that name is a synonym of some entity declared elsewhere The using declaration is both a declaration of a new binding and a reference to a previously declared binding
ICPPUsingDirective
Interface to model using directives.
ICPPVariable
ICPPVariableInstance
Represents an instantiation or an explicit specialization of a variable template.
ICPPVariableTemplate
A variable template.
ICPPVariableTemplatePartialSpecialization
Partial specialization of a variable template.
SemanticQueries
This class exposes semantic queries about C++ code to clients such as code analysis.