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