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)

Declared at: clang/include/clang/AST/DeclCXX.h:419

Parameters

clang::CXXRecordDecl* D
clang::TypeSourceInfo* Info
unsigned int DK
bool IsGeneric
clang::LambdaCaptureDefault CaptureDefault