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
- public LazyGenerationalUpdatePtr<Owner, T, Update>(clang::LazyGenerationalUpdatePtr::ValueType V)
- public LazyGenerationalUpdatePtr<Owner, T, Update>(const clang::ASTContext & Ctx, T Value = type-parameter-0-1())
- public LazyGenerationalUpdatePtr<Owner, T, Update>(clang::LazyGenerationalUpdatePtr::NotUpdatedTag, T Value = type-parameter-0-1())
- public T get(Owner O)
- public static LazyGenerationalUpdatePtr<Owner, T, Update> getFromOpaqueValue(void * Ptr)
- public T getNotUpdated() const
- public void * getOpaqueValue()
- public static clang::LazyGenerationalUpdatePtr::ValueType makeValue(const clang::ASTContext & Ctx, T Value)
- public void markIncomplete()
- public void set(T NewValue)
- public void setNotUpdated(T NewValue)
Methods
¶LazyGenerationalUpdatePtr<Owner, T, Update>(
clang::LazyGenerationalUpdatePtr::ValueType V)
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())
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())
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)
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)
static LazyGenerationalUpdatePtr<Owner, T, Update>
getFromOpaqueValue(void* Ptr)
Declared at: clang/include/clang/AST/ExternalASTSource.h:456
Parameters
- void* Ptr
¶T getNotUpdated() const
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()
void* getOpaqueValue()
Declared at: clang/include/clang/AST/ExternalASTSource.h:455
¶static clang::LazyGenerationalUpdatePtr::ValueType
makeValue(const clang::ASTContext& Ctx, T Value)
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()
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)
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)
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