|
clang 22.0.0git
|
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 () |
| InitMap * | operator-> () |
| 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. | |
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.
|
explicitdefault |
|
inline |
Are all elements in the array already initialized?
Definition at line 69 of file InitMap.h.
References AllInitializedValue, and V.
Referenced by clang::interp::Pointer::allElementsInitialized(), clang::interp::Pointer::initializeElement(), and clang::interp::Pointer::isElementInitialized().
|
inline |
Delete the InitMap if one exists.
Definition at line 90 of file InitMap.h.
References hasInitMap(), NoInitMapValue, and V.
Referenced by dtorArrayTy().
|
inline |
Definition at line 65 of file InitMap.h.
References AllInitializedValue, NoInitMapValue, and V.
Referenced by deleteInitMap(), clang::interp::Pointer::initializeElement(), clang::interp::Pointer::isElementInitialized(), noteAllInitialized(), operator->(), and setInitMap().
|
inline |
Definition at line 77 of file InitMap.h.
References AllInitializedValue, hasInitMap(), and V.
Referenced by clang::interp::Pointer::initializeElement().
|
inline |
Access the underlying InitMap directly.
Definition at line 84 of file InitMap.h.
References hasInitMap(), and V.
|
inline |
Definition at line 71 of file InitMap.h.
References hasInitMap(), and V.
Referenced by clang::interp::Pointer::initializeElement().
|
staticconstexpr |
V's value after the initmap has been destroyed because all its elements have already been initialized.
Definition at line 61 of file InitMap.h.
Referenced by allInitialized(), hasInitMap(), and noteAllInitialized().
|
staticconstexpr |
V's value before an initmap has been created.
Definition at line 58 of file InitMap.h.
Referenced by deleteInitMap(), and hasInitMap().
| uintptr_t clang::interp::InitMapPtr::V = 0 |
Definition at line 62 of file InitMap.h.
Referenced by allInitialized(), deleteInitMap(), hasInitMap(), noteAllInitialized(), operator->(), and setInitMap().