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.
|
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 {...}
|
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.
|
ICPPASTFunctionDefinition |
In c++ the a function definition for a constructor may contain member initializers.
|
ICPPASTFunctionTryBlockDeclarator |
Deprecated.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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).
|
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.
|