Interface Summary |
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. |
ICPPASTAmbiguousTemplateArgument |
Place-holder in the AST for template arguments that are not yet understood. |
ICPPASTArrayDeclarator |
Array declarator for C++ |
ICPPASTArraySubscriptExpression |
|
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. |
ICPPASTCompositeTypeSpecifier |
|
ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier |
Base Specifiers are where a class expresses from whom it inherits. |
ICPPASTConstructorChainInitializer |
Represents a member initializer:
class X {
int a;
X();
};
X::X : a(0) {} // a(0) is 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. delete [] operand; |
ICPPASTElaboratedTypeSpecifier |
Elaborated types in C++ include classes. |
ICPPASTEnumerationSpecifier |
enum struct : unsigned int {...} |
ICPPASTExplicitTemplateInstantiation |
This interface represents an explicit template instantiation. |
ICPPASTExpression |
Interface for c++ expressions. |
ICPPASTExpressionList |
|
ICPPASTFieldDeclarator |
Field declarator for c++. |
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:
void func() try {
} catch (...) {
} |
ICPPASTIfStatement |
The 'if' statement including the optional else clause. |
ICPPASTInitializerClause |
C++ specific initializer clause. |
ICPPASTInitializerList |
Braced initializer list. |
ICPPASTLambdaExpression |
Lambda expression, introduced in C++0x. |
ICPPASTLinkageSpecification |
This interface represents a linkage specification. e.g. extern "C" { ... } |
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. namespace ABC { int* x; } namespace DEF = ABC; |
ICPPASTNamespaceDefinition |
This interface represents a namespace definition in C++. |
ICPPASTNameSpecifier |
AST node for elements of the qualifier in a qualified name. |
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. &, used in a declarator. |
ICPPASTSimpleDeclSpecifier |
This interface represents a built-in type in C++. |
ICPPASTSimpleTypeConstructorExpression |
Functional cast expressions:
simple-type-specifier (expression-list?) |
ICPPASTSimpleTypeTemplateParameter |
This interface represents a simple type template parameter. |
ICPPASTStaticAssertDeclaration |
Models static assertions: static_assert(false, "message"); |
ICPPASTSwitchStatement |
|
ICPPASTTemplateDeclaration |
Template declaration. |
ICPPASTTemplatedTypeTemplateParameter |
This is a template template parameter as V in
template<template<typename T> class V> class CT; |
ICPPASTTemplateId |
|
ICPPASTTemplateParameter |
Base interface for all template parameters. |
ICPPASTTemplateSpecialization |
This interface represents a template specialization. |
ICPPASTTranslationUnit |
|
ICPPASTTryBlockStatement |
This interface represents the try block statement. try { //body } catch (Exc e )
{ // handler } catch ( ... ) { } |
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. |
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 |
|
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 |
|
ICPPField |
|
ICPPFunction |
Binding for c++ functions. |
ICPPFunctionScope |
|
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. |
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 of a class or 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 |
|
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 |
|