# Packages
Package memory_pb describes the serialization format for the memory package.
# Functions
AlignOf returns the byte alignment of the type t.
Blob returns a read-only Slice that wraps data.
BytePtr returns a pointer to bytes.
CharToBytes changes the Char values to their byte[] representation.
InvertMemoryRanges converts a used memory range list into a free list and the other way around.
IsSize returns true if v is a Size or alias to a Size.
LoadPointer loads the element from p.
LoadSlice loads the slice elements from s into a go-slice of the slice type.
NewBasicAllocator creates a new allocator which allocates memory from the given list of free ranges.
NewData returns a read-only Slice that contains the encoding of data.
NewDecoder constructs and returns a new Decoder that reads from r using the memory layout m.
NewEncoder constructs and returns a new Encoder that writes to w using the memory layout m.
NewID returns a new ID from an id.ID.
NewPools creates and returns a new Pools instance.
NewPtr returns a new pointer.
NewSlice returns a new Slice.
PointerToString returns a string representation of the pointer.
Read reads the value pointed at p from the decoder d using C alignment rules.
Resource returns a Data that wraps a resource stored in the database.
SizeOf returns the byte size of the type t.
Store encodes and stores the value v to the database d, returning the memory range and new resource identifier.
Write writes the value v to the encoder e using C alignment rules.
Writer returns a binary writer for the specified memory pool and range.
# Constants
ApplicationPool is the PoolID of Pool representing the application's memory address space.
# Variables
Nullptr is a zero-address pointer.
# Structs
Decoder provides methods to read primitives from a binary.Reader, respecting a given MemoryLayout.
Encoder provides methods to write primitives to a binary.Writer, respecting a given MemoryLayout.
Pool represents an unbounded and isolated memory space.
Pools contains a collection of Pools identified by PoolIDs.
Range represents a region of memory.
# Interfaces
AlignedTy is the interface implemented by types that can calculate their size.
Allocator is a memory allocator.
CharTy is the interface implemented by types that should be treated as char type.
Data is the interface for a data source that can be resolved to a byte slice with Get, or 'sliced' to a subset of the data source.
Decodable is the interface implemented by types that can decode themselves from an encoder.
Encodable is the interface implemented by types that can encode themselves to an encoder.
IntTy is the interface implemented by types that should be treated as int type.
Pointer is the type representing a memory pointer.
ReflectPointer is a helper interface, if you want your pointer to be reflected then it must ALSO implement this interface.
SizedTy is the interface implemented by types that can calculate their size.
SizeTy is the interface implemented by types that should be treated as size_t type.
Slice is the interface implemented by types that represent a slice on a memory pool.
UintTy is the interface implemented by types that should be treated as uint type.