clang 23.0.0git
clang::interp::InitMapPtr Struct Referencefinal

A pointer-sized struct we use to allocate into data storage. More...

#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/InitMap.h"

Public Member Functions

 InitMapPtr ()=default
bool hasInitMap () const
bool allInitialized () const
 Are all elements in the array already initialized?
void setInitMap (const InitMap *IM)
void noteAllInitialized ()
InitMapoperator-> ()
 Access the underlying InitMap directly.
void deleteInitMap ()
 Delete the InitMap if one exists.

Public Attributes

uintptr_t V = 0

Static Public Attributes

static constexpr intptr_t NoInitMapValue = 0
 V's value before an initmap has been created.
static constexpr intptr_t AllInitializedValue = 1
 V's value after the initmap has been destroyed because all its elements have already been initialized.

Detailed Description

A pointer-sized struct we use to allocate into data storage.

An InitMapPtr is either backed by an actual InitMap, or it hold information about the absence of the InitMap.

Definition at line 79 of file InitMap.h.

Constructor & Destructor Documentation

◆ InitMapPtr()

clang::interp::InitMapPtr::InitMapPtr ( )
explicitdefault

Member Function Documentation

◆ allInitialized()

◆ deleteInitMap()

void clang::interp::InitMapPtr::deleteInitMap ( )
inline

Delete the InitMap if one exists.

Definition at line 113 of file InitMap.h.

References hasInitMap(), NoInitMapValue, and V.

Referenced by dtorArrayTy().

◆ hasInitMap()

◆ noteAllInitialized()

void clang::interp::InitMapPtr::noteAllInitialized ( )
inline

Definition at line 100 of file InitMap.h.

References AllInitializedValue, hasInitMap(), and V.

Referenced by clang::interp::Pointer::initializeElement().

◆ operator->()

InitMap * clang::interp::InitMapPtr::operator-> ( )
inline

Access the underlying InitMap directly.

Definition at line 107 of file InitMap.h.

References hasInitMap(), and V.

◆ setInitMap()

void clang::interp::InitMapPtr::setInitMap ( const InitMap * IM)
inline

Member Data Documentation

◆ AllInitializedValue

intptr_t clang::interp::InitMapPtr::AllInitializedValue = 1
staticconstexpr

V's value after the initmap has been destroyed because all its elements have already been initialized.

Definition at line 84 of file InitMap.h.

Referenced by allInitialized(), hasInitMap(), and noteAllInitialized().

◆ NoInitMapValue

intptr_t clang::interp::InitMapPtr::NoInitMapValue = 0
staticconstexpr

V's value before an initmap has been created.

Definition at line 81 of file InitMap.h.

Referenced by deleteInitMap(), and hasInitMap().

◆ V

uintptr_t clang::interp::InitMapPtr::V = 0

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