Package org.eclipse.cdt.core.dom.ast.cpp
package org.eclipse.cdt.core.dom.ast.cpp
-
ClassDescriptionDeprecated.Represents an alias template (14.5.7).Represents an instance of an alias template (14.5.7).Represents a C++ alias declaration.A C++ alignment-specifier.Place-holder in the AST for template arguments that are not yet understood.Array declarator for C++Array designator, e.g.Represents a C++11 (ISO/IEC 14882:2011 7.6) attribute.Represents a C++11 (ISO/IEC 14882:2011 7.6.1 [dcl.attr.grammar]) attribute specifier of the form [[ attribute-list ]].C++ adds a few more binary expressions over C.Capture for a lambda expression, introduced in C++0x.C++ adds in additional cast-style expressions.Catch handler used for try block statements or for functions with try block.A class-virt-specifier after a class name.Base specifiers are where a class expresses from whom it inherits.Represents a block of statements in C++.Represents a member initializer:Represents a potentially empty list of initializers in parenthesis: ( initializer-list? )This interface represents a C++ conversion member function.Declarator for c++.C++ adds additional modifiers and types for decl specifier sequence.C++ AST node for decltype-specifiers.Deduction guide, introduced in C++17.This interface represents a delete expression.This interface represents a designated initializer, e.g.Base interface for all C-style designators.Elaborated types specifier in C++ [dcl.type.elab].
enum struct : unsigned int {...}
This interface represents an explicit template instantiation.Interface for C++ expressions.Field declarator for c++.Specific designator that represents a field reference.Certain field references in C++ require the use the keyword template to specify the parse.Fold expression, introduced in C++17.The C++ 'for' statement.C++ adds a few things to function declarators.In c++ the a function definition for a constructor may contain member initializers.Deprecated.UseICPPASTFunctionWithTryBlock
, instead.Models a function defined with a try block, which is a function definition:The 'if' statement including the optional else clause.Init capture for a lambda expression, introduced in C++14.C++ specific initializer clause.Braced initializer list.Lambda expression, introduced in C++11.The capture default can be by copy, by reference or unspecified.This interface represents a linkage specification.C++ adds additional literal types to primary expression.AST node for names in C++ translation units.C++ adds the capability of qualifying a named type specifier w/the keyword typename.This interface represents a namespace alias in C++, e.g.This interface represents a namespace definition in C++.AST node for elements of the qualifier in a qualified name.A type-id expression with any number of arguments.This interface represents a new expression.This interface represents a C++ overloaded operator member function name.Interface for nodes that can potentially be pack-expansions.Pack expansion as it can occur as an element in an expression-lists or as a non-type template argument.This is a pointer to member pointer operator for declarators.This interface is a qualified name in C++.Represents a range-based 'for' loop.This is C++'s reference operator, i.e.This interface represents a built-in type in C++.Functional cast expressions: simple-type-specifier (expression-list?) simple-type-specifier braced-init-list typename-specifier (expression-list?) typename-specifier braced-init-listThis interface represents a simple type template parameter.Models static assertions:static_assert(false, "message");
This is a structured binding declaration which contains a sequence names, in square brackets, that decompose an initializer.Template declaration.This is a template template parameter asV
intemplate<template<typename T> class V> class CT;
This interface represents template names which use the template disambiguator keyword.Base interface for all template parameters.This interface represents a template specialization.This interface represents the try block statement.Type ids in C++.Deprecated.Unified withICPPASTSimpleTypeConstructorExpression
.A decl-specifier that represents the application of an intrinsic type transformation operator like __underlying_type(T).This interface represents a using declaration.This interface represents a C++ using directive.A virt-specifier at the end of a function declaration.C++ allows for visibility labels to be mixed with declarations in class specifiers.Interface for visitors to visit c-specific nodes.This interface accommodates C++ allows for broader while loop syntax.Represents the relationship between a class and one of its base classes.Marker for deduction guide synthesized from class constructorMarker for deduction guide synthesized from class constructor templateInterface for class scopes.Specializations of all sorts of class types.This interface represents a class template partial specialization.Interface for specializations of partial specializations.Represents a C++ class.Binding for specializations of constructors.Marker for copy deduction candidate used with Class Template Argument Deduction, introduced in C++17.Deduction guide, introduced in C++17.Represents a reference to a function which cannot be resolved because an argument depends on a template parameter.Deprecated.useICPPDeferredClassInstance
instead.C++ specific version of enumerations.Interface for enumeration scopes.A field template.Binding for c++ functions.This interface represents an instantiation or an explicit specialization of a function template.Binding for specializations of functions.Interface for function templatesRepresents a member of a class.Base interface for methods, also used for constructors.Specialization of a method.This interface represents a C++ namespaceA namespace scope is either a block-scope or a namespace-scope or global scope.Factory for AST nodes for the C++ programming language.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.Something that can be partially specialized.A partially specialized variable or class template.For an instantiation of a class template, the members of that instantiation will be specializations of the members of the original class template.Models the value of a template parameter or for the argument of a template-id.Base interface for all template definitions including explicit (partial) specializations.This interface represents an instantiation or an explicit specialization of a class or a function template.Interface for template non type parameters.Base interface for all template parameters (non-type, type and template).Models the mapping of template parameters to values, or pack-expansions.A separate template scope is used for each template declaration.Template parameters of type template.A common interface for ICPPClassSpecialization and ICPPEnumerationSpecialization.A type used to represent the result of applying an unary type transformation operator like __underlying_type(T).Identifies the type transformation operator being applied.Marker for user-defined deduction guide for Class Template Argument Deduction, introduced in C++17.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 bindingInterface to model using directives.Represents an instantiation or an explicit specialization of a variable template.A variable template.Partial specialization of a variable template.This class exposes semantic queries about C++ code to clients such as code analysis.
ASTVisitor
, instead.