struct LazyGenerationalUpdatePtr

Declaration

template <typename Owner,
          typename T,
          void (clang::ExternalASTSource::*)(Owner) Update>
struct LazyGenerationalUpdatePtr { /* full declaration omitted */ };

Description

A lazy value (of type T) that is within an AST node of type Owner, where the value might change in later generations of the external AST source.

Declared at: clang/include/clang/AST/ExternalASTSource.h:388

Templates

Owner
T
void (clang::ExternalASTSource::*)(Owner) Update

Member Variables

public clang::LazyGenerationalUpdatePtr::ValueType Value

Method Overview

Methods

LazyGenerationalUpdatePtr<Owner, T, Update>(
    clang::LazyGenerationalUpdatePtr::ValueType V)

Declared at: clang/include/clang/AST/ExternalASTSource.h:404

Parameters

clang::LazyGenerationalUpdatePtr::ValueType V

LazyGenerationalUpdatePtr<Owner, T, Update>(
    const clang::ASTContext& Ctx,
    T Value = type - parameter - 0 - 1())

Declared at: clang/include/clang/AST/ExternalASTSource.h:410

Parameters

const clang::ASTContext& Ctx
T Value = type-parameter-0-1()

LazyGenerationalUpdatePtr<Owner, T, Update>(
    clang::LazyGenerationalUpdatePtr::
        NotUpdatedTag,
    T Value = type - parameter - 0 - 1())

Declared at: clang/include/clang/AST/ExternalASTSource.h:416

Parameters

clang::LazyGenerationalUpdatePtr::NotUpdatedTag
T Value = type-parameter-0-1()

T get(Owner O)

Description

Get the value of this pointer, updating its owner if necessary.

Declared at: clang/include/clang/AST/ExternalASTSource.h:437

Parameters

Owner O

static LazyGenerationalUpdatePtr<Owner, T, Update>
getFromOpaqueValue(void* Ptr)

Declared at: clang/include/clang/AST/ExternalASTSource.h:456

Parameters

void* Ptr

T getNotUpdated() const

Description

Get the most recently computed value of this pointer without updating it.

Declared at: clang/include/clang/AST/ExternalASTSource.h:449

void* getOpaqueValue()

Declared at: clang/include/clang/AST/ExternalASTSource.h:455

static clang::LazyGenerationalUpdatePtr::ValueType
makeValue(const clang::ASTContext& Ctx, T Value)

Description

Create the representation of a LazyGenerationalUpdatePtr.

Declared at: clang/include/clang/AST/ExternalASTSource.h:407

Parameters

const clang::ASTContext& Ctx
T Value

void markIncomplete()

Description

Forcibly set this pointer (which must be lazy) as needing updates.

Declared at: clang/include/clang/AST/ExternalASTSource.h:420

void set(T NewValue)

Description

Set the value of this pointer, in the current generation.

Declared at: clang/include/clang/AST/ExternalASTSource.h:425

Parameters

T NewValue

void setNotUpdated(T NewValue)

Description

Set the value of this pointer, for this and all future generations.

Declared at: clang/include/clang/AST/ExternalASTSource.h:434

Parameters

T NewValue