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

struct AbiPtr

Defined at line 117 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 135 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

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

Defined at line 137 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 140 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

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

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

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

Defined at line 146 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 156 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

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

Defined at line 160 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 166 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

bool operator bool ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined at line 197 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 203 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 209 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h

T * operator-> ()

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

T & operator* ()

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