template <class Diagnostics, class LoadInfo, GetMutableMemoryApi<Diagnostics, LoadInfo> GetMutableMemory, template <class> class Container = StdContainer<std::vector>::Container>

class LoadInfoMutableMemory

Defined at line 67 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h

Public Methods

void LoadInfoMutableMemory<Diagnostics, LoadInfo, GetMutableMemory, Container> ()

Cannot be default-constructed, copied, or moved.

Defined at line 72 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h

void LoadInfoMutableMemory<Diagnostics, LoadInfo, GetMutableMemory, Container> (const LoadInfoMutableMemory<Diagnostics, LoadInfo, GetMutableMemory, Container> & )

Defined at line 73 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h

void LoadInfoMutableMemory<Diagnostics, LoadInfo, GetMutableMemory, Container> (LoadInfoMutableMemory<Diagnostics, LoadInfo, GetMutableMemory, Container> && )

Defined at line 74 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h

void LoadInfoMutableMemory<Diagnostics, LoadInfo, GetMutableMemory, Container> (Diagnostics & diag, LoadInfo & load_info, GetMutableMemory get_mutable_memory)

Construction just stores the references and the callable object.

Defined at line 77 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h

bool Init ()

The Init() call prepares the mappings from the LoadInfo segments; it must

be called before using the Memory API methods. It's separate from the

constructor only so that it can fail if Container operations fail when

building up the internal table.

Defined at line 84 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h

template <typename T, typename U>
bool Store (size_type ptr, U value)

These are the Memory API methods for mutable memory.

See

<lib

/elfldltl/memory.h> for the API specification.

Defined at line 105 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h

template <typename T, typename U>
bool StoreAdd (size_type ptr, U value)

Defined at line 113 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h

template <typename T>
std::optional<std::span<const T>> ReadArray (size_type address, size_type count)

The ReadArray methods are provided here as well, and not only for Memory

API completeness. The primary expected use of the adapter is for applying

relocations. Some (DT_REL) relocation cases need to fetch the in-place

addend and examine its value, rather than just using StoreAdd. These

"read-only" methods have the same copy-on-first-reference behavior as the

mutation methods, since in the expected use a ReadArray call will always

be followed shortly by a Store call anyway.

Defined at line 129 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h

template <typename T>
std::optional<std::span<const T>> ReadArray (size_type address)

Defined at line 140 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h