clang: clang::LazyGenerationalUpdatePtr< Owner, T, Update (original) (raw)

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

#include "[clang/AST/ExternalASTSource.h](ExternalASTSource%5F8h%5Fsource.html)"

Classes
struct LazyData
A cache of the value of this pointer, in the most recent generation in which we queried it. More...
Public Types
enum NotUpdatedTag { NotUpdated }
Create a pointer that is not potentially updated by later generations of the external AST source. More...
using ValueType = llvm::PointerUnion< T, LazyData * >
Public Member Functions
LazyGenerationalUpdatePtr (ValueType V)
LazyGenerationalUpdatePtr (const ASTContext &Ctx, T Value=T())
LazyGenerationalUpdatePtr (NotUpdatedTag, T Value=T())
void markIncomplete ()
Forcibly set this pointer (which must be lazy) as needing updates.
void set (T NewValue)
Set the value of this pointer, in the current generation.
void setNotUpdated (T NewValue)
Set the value of this pointer, for this and all future generations.
T get (Owner O)
Get the value of this pointer, updating its owner if necessary.
T getNotUpdated () const
Get the most recently computed value of this pointer without updating it.
void * getOpaqueValue ()
Static Public Member Functions
static ValueType makeValue (const ASTContext &Ctx, T Value)
Create the representation of a LazyGenerationalUpdatePtr.
static LazyGenerationalUpdatePtr getFromOpaqueValue (void *Ptr)

template<typename Owner, typename T, void(ExternalASTSource::*)(Owner) Update>
struct clang::LazyGenerationalUpdatePtr< Owner, T, Update >

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.

Definition at line 441 of file ExternalASTSource.h.

ValueType

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

NotUpdatedTag

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

Create a pointer that is not potentially updated by later generations of the external AST source.

Enumerator
NotUpdated

Definition at line 468 of file ExternalASTSource.h.

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

LazyGenerationalUpdatePtr() [2/3]

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

LazyGenerationalUpdatePtr() [3/3]

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

get()

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

getFromOpaqueValue()

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

getNotUpdated()

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

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

Definition at line 500 of file ExternalASTSource.h.

getOpaqueValue()

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

makeValue()

template<typename Owner , typename T , void(clang::ExternalASTSource::*)(Owner) Update>

markIncomplete()

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

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

Definition at line 473 of file ExternalASTSource.h.

set()

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

setNotUpdated()

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>

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

Definition at line 485 of file ExternalASTSource.h.

Value

template<typename Owner , typename T , void(ExternalASTSource::*)(Owner) Update>


The documentation for this struct was generated from the following files: