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