struct InitMap

Declaration

struct InitMap { /* full declaration omitted */ };

Description

Bitfield tracking the initialisation status of elements of primitive arrays. A pointer to this is embedded at the end of all primitive arrays. If the map was not yet created and nothing was initialized, the pointer to this structure is 0. If the object was fully initialized, the pointer is -1.

Declared at: clang/lib/AST/Interp/Descriptor.h:189

Member Variables

private unsigned int UninitFields
Number of fields initialized.
private static const uint64_t PER_FIELD = sizeof(unsigned long) * 8
Bits stored in a single field.

Method Overview

  • private InitMap(unsigned int N)
  • public static clang::interp::InitMap * allocate(unsigned int N)
  • private clang::interp::InitMap::T * data()
  • public bool initialize(unsigned int I)
  • public bool isInitialized(unsigned int I)

Methods

InitMap(unsigned int N)

Description

Initializes the map with no fields set.

Declared at: clang/lib/AST/Interp/Descriptor.h:197

Parameters

unsigned int N

static clang::interp::InitMap* allocate(
    unsigned int N)

Description

Allocates a map holding N elements.

Declared at: clang/lib/AST/Interp/Descriptor.h:210

Parameters

unsigned int N

clang::interp::InitMap::T* data()

Description

Returns a pointer to storage.

Declared at: clang/lib/AST/Interp/Descriptor.h:200

bool initialize(unsigned int I)

Description

Initializes an element. Returns true when object if fully initialized.

Declared at: clang/lib/AST/Interp/Descriptor.h:204

Parameters

unsigned int I

bool isInitialized(unsigned int I)

Description

Checks if an element was initialized.

Declared at: clang/lib/AST/Interp/Descriptor.h:207

Parameters

unsigned int I