struct CXXRecordDecl::LambdaDefinitionData
Declaration
struct CXXRecordDecl::LambdaDefinitionData : public DefinitionData { /* full declaration omitted */ };
Description
Describes a C++ closure type (generated by a lambda expression).
Declared at: clang/include/clang/AST/DeclCXX.h:374
Inherits from: CXXRecordDecl::DefinitionData
Member Variables
- public unsigned int DependencyKind
- A lambda with a non-dependent context can be dependent if it occurs within the default argument of a function template, because the lambda will have been created with the enclosing context as its declaration context, rather than function. This is an unfortunate artifact of having to parse the default arguments before.
- public unsigned int IsGenericLambda
- Whether this lambda is a generic lambda.
- public unsigned int CaptureDefault
- The Default Capture.
- public unsigned int NumCaptures
- The number of captures in this lambda is limited 2^NumCaptures.
- public unsigned int NumExplicitCaptures
- The number of explicit captures in this lambda.
- public unsigned int HasKnownInternalLinkage
- Has known `internal` linkage.
- public unsigned int ManglingNumber
- The number used to indicate this lambda expression for name mangling in the Itanium C++ ABI.
- public clang::LazyDeclPtr ContextDecl
- The declaration that provides context for this lambda, if the actual DeclContext does not suffice. This is used for lambdas that occur within default arguments of function parameters within the class or within a data member initializer.
- public clang::CXXRecordDecl::LambdaDefinitionData:: Capture* Captures = nullptr
- The list of captures, both explicit and implicit, for this lambda.
- public clang::TypeSourceInfo* MethodTyInfo
- The type of the call method.
Inherited from CXXRecordDecl::DefinitionData:
- public UserDeclaredConstructor
- public UserDeclaredSpecialMembers
- public Aggregate
- public PlainOldData
- public Empty
- public Polymorphic
- public Abstract
- public IsStandardLayout
- public IsCXX11StandardLayout
- public HasBasesWithFields
- public HasBasesWithNonStaticDataMembers
- public HasPrivateFields
- public HasProtectedFields
- public HasPublicFields
- public HasMutableFields
- public HasVariantMembers
- public HasOnlyCMembers
- public HasInitMethod
- public HasInClassInitializer
- public HasUninitializedReferenceMember
- public HasUninitializedFields
- public HasInheritedConstructor
- public HasInheritedDefaultConstructor
- public HasInheritedAssignment
- public NeedOverloadResolutionForCopyConstructor
- public NeedOverloadResolutionForMoveConstructor
- public NeedOverloadResolutionForCopyAssignment
- public NeedOverloadResolutionForMoveAssignment
- public NeedOverloadResolutionForDestructor
- public DefaultedCopyConstructorIsDeleted
- public DefaultedMoveConstructorIsDeleted
- public DefaultedCopyAssignmentIsDeleted
- public DefaultedMoveAssignmentIsDeleted
- public DefaultedDestructorIsDeleted
- public HasTrivialSpecialMembers
- public HasTrivialSpecialMembersForCall
- public DeclaredNonTrivialSpecialMembers
- public DeclaredNonTrivialSpecialMembersForCall
- public HasIrrelevantDestructor
- public HasConstexprNonCopyMoveConstructor
- public HasDefaultedDefaultConstructor
- public DefaultedDefaultConstructorIsConstexpr
- public HasConstexprDefaultConstructor
- public DefaultedDestructorIsConstexpr
- public HasNonLiteralTypeFieldsOrBases
- public StructuralIfLiteral
- public UserProvidedDefaultConstructor
- public DeclaredSpecialMembers
- public ImplicitCopyConstructorCanHaveConstParamForVBase
- public ImplicitCopyConstructorCanHaveConstParamForNonVBase
- public ImplicitCopyAssignmentHasConstParam
- public HasDeclaredCopyConstructorWithConstParam
- public HasDeclaredCopyAssignmentWithConstParam
- public IsAnyDestructorNoReturn
- public IsLambda
- public IsParsingBaseSpecifiers
- public ComputedVisibleConversions
- public HasODRHash
- public ODRHash = 0
- public NumBases = 0
- public NumVBases = 0
- public Bases
- public VBases
- public Conversions
- public VisibleConversions
- public Definition
- public FirstFriend
Method Overview
- public LambdaDefinitionData(clang::CXXRecordDecl * D, clang::TypeSourceInfo * Info, unsigned int DK, bool IsGeneric, clang::LambdaCaptureDefault CaptureDefault)
Inherited from CXXRecordDecl::DefinitionData:
Methods
ΒΆLambdaDefinitionData(
clang::CXXRecordDecl* D,
clang::TypeSourceInfo* Info,
unsigned int DK,
bool IsGeneric,
clang::LambdaCaptureDefault CaptureDefault)
LambdaDefinitionData(
clang::CXXRecordDecl* D,
clang::TypeSourceInfo* Info,
unsigned int DK,
bool IsGeneric,
clang::LambdaCaptureDefault CaptureDefault)
Declared at: clang/include/clang/AST/DeclCXX.h:419
Parameters
- clang::CXXRecordDecl* D
- clang::TypeSourceInfo* Info
- unsigned int DK
- bool IsGeneric
- clang::LambdaCaptureDefault CaptureDefault