template <typename T, ElfApi Elf = elfldltl::Elf<>, AbiPtrTraitsApi<T, Elf> Traits = LocalAbiTraits>

struct AbiPtr

Defined at line 114 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

Public Members

static const bool kLocal

Public Methods

void AbiPtr<T, Elf, Traits> ()

Defined at line 132 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

void AbiPtr<T, Elf, Traits> (const AbiPtr<T, Elf, Traits> & )

Defined at line 134 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

void AbiPtr<T, Elf, Traits> (value_type * ptr)

If Traits supports it, AbiPtr can be constructed from a normal pointer.

Defined at line 137 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

AbiPtr<T, Elf, Traits> & operator= (const AbiPtr<T, Elf, Traits> & )

Defined at line 141 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

AbiPtr<T, Elf, Traits> & operator= (value_type * ptr)

Defined at line 143 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

template <typename U>
AbiPtr<U, Elf, Traits> operator elfldltl::AbiPtr<type-parameter-1-0, type-parameter-0-1, type-parameter-0-2> ()

AbiPtr

<T

> is convertible to AbiPtr

<U

> exactly like T* to U*.

Defined at line 153 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

AbiPtr<T, Elf, Traits> FromAddress (Addr address)

Defined at line 157 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

template <typename Other>
AbiPtr<Other, Elf, Traits> Reinterpret ()

Like `reinterpret_cast

<Other

*>(this->get())`.

Defined at line 163 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

bool operator bool ()

Defined at line 167 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

bool operator== (const AbiPtr<T, Elf, Traits> & other)

Defined at line 169 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

auto operator<=> (const AbiPtr<T, Elf, Traits> & other)

Defined at line 173 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

AbiPtr<T, Elf, Traits> operator+ (size_type n)

Defined at line 177 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

AbiPtr<T, Elf, Traits> operator- (size_type n)

Defined at line 181 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

size_type operator- (const AbiPtr<T, Elf, Traits> & other)

Defined at line 185 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

AbiPtr<T, Elf, Traits> & operator+= (size_type n)

Defined at line 189 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

AbiPtr<T, Elf, Traits> & operator-= (size_type n)

Defined at line 194 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

size_type address ()

This just returns the address in the target address space.

Defined at line 200 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

T * get ()

Dereferencing methods are only available if enabled by the Traits type.

Defined at line 206 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

T * operator-> ()

Defined at line 212 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

T & operator* ()

Defined at line 218 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h