leb128

Types used to decode Little Endian Base 128 numbers used to store large numbers as space efficiently as possible

Types

std::mem::AlignTo

Aligns the cursor to the given alignment

  • <alignment>: The alignment to align to

struct AlignTo<auto Alignment> { ... } [[hidden, sealed]];

std::mem::Bytes

A type representing a sequence of bytes without any specific meaning

  • <Size>: The size of the sequence

struct Bytes<auto Size> { ... } [[sealed, format]];

std::mem::Endian

The Endianess of a value

enum Endian : u8 {
    Big,
    Little,
    Native
};

std::mem::MagicSearch

Searches for a sequence of bytes and places the given type at that address

  • <Magic>: The magic sequence to search for

  • <T>: The type to place at the address

struct MagicSearch<auto Magic, T> { ... };

std::mem::Reinterpreter

Reinterprets a value as a different one

  • <From>: The type to reinterpret from

  • <To>: The type to reinterpret to

union Reinterpreter<From, To> { ... };

std::mem::Section

A Handle for a custom Section

using Section = u128;

type::LEB128

Legacy alias for uLEB128

using LEB128 = type::uLEB128;

type::LEB128Base

Base LEB128 type. Use uLEB128 and sLEB128 instead.

struct LEB128Base { ... } [[sealed]];

type::sLEB128

A signed variant of a LEB128 number

using sLEB128 = type::LEB128Base [[format, transform]];

type::uLEB128

A unsigned variant of a LEB128 number

using uLEB128 = type::LEB128Base [[format, transform]];

Last updated