User Documentation

Overview

This documentation helps end-users to understand and effectively use the estd module. It provides an overview of the module’s contents, grouped by topic, and includes detailed descriptions of the components, their functionality, and usage examples.

Container

component estd
interface array.h
interface forward_list.h
estd .up.> [platform] : uses
estd -- array.h
estd -- forward_list.h
estd -- object_pool.h
estd -- slice.h

Below you will find an overview of the contents of the library, grouped by topic.

Containers

array

Fixed-size array

deque

Double-ended queue, for fast insert and remove operation from front and back.

forward_list

Forward-linked and intrusive list, for fast and easy insertion.

object_pool

Provides a pool of objects of the same type.

ordered_map

Key-value map, based on a sorted vector.

ordered_vector

Fixed-size ordered vector.

priority_queue

std::priority_queue-like class; keeps its elements sorted according to a comparator.

math

Provides various mathematical functions and utilities.

queue

First-in, first-out (FIFO) data structure.

stack

Last-in, first-out (LIFO) data structure.

string

std::basic_string-like class.

string_view

std::basic_string_view-like class.

ring

First-in, first-out (FIFO) data structure, implemented as a circular buffer.

tiny_ring

Variant of the ring buffer, optimized for <256 elements.

vec

Variable length array, with a statically-defined maximum size.

vector

Variable length array, with a statically-defined maximum size.

Vocabulary types

bitset

Represents fixed number of bits.

functional

Function reference to a global or member function.

limited

Checks if integral types or enums have a value or not.

multi_slice

Pointer to multiple same-sized arrays of different types.

optional

Manages an optional value: a value that may or may not be present.

result

Represents result of an operation, storing a value or an error.

slice

Pointer to a contiguous range of objects; std::span-like class.

variant

Type-safe union.

Type traits, type utils

va_list_ref

Wrapper allowing storage of a reference to a va_list.

type_traits

Helper templates, querying properties of types.

type_utils

Utility functions wrapping reinterpret_cast.

uncopyable

A macro to make a class uncopyable that cannot inherit from the uncopyable base class.

Other utilities

alloc

Helper functions for APIs allowing custom memory allocators.

assert

Checking assertions at runtime.

memory

Utility functions which operate on slices.

typed_mem

Typed memory for delayed creation of objects.

big_endian

Big-endian encoding (data serialization).

constructor

Helper struct providing a way to construct objects in pre-allocated memory (‘placement new’ wrapper).

index_sequence

Compile-time integer sequence to represent a sequence of indices.

static_assert

Checking assertions at compile time.

singleton

Templated implementation of the singleton pattern.

little_endian

Little endian encoding (data serialization).

chrono

Time unit types and conversions between them.

indestructible

Provides transparent wrapper for global objects that are never destructed.

tuple

Helper functions to use with the std::tuple type.

type_list

The compile-time construct for collection of types.

none

Helper struct which can be cast to any type, calling the default constructor.

va_list_ref

Wrapper allowing storage of a reference to a va_list.

Algorithms

iterator

Helper function operating on iterators, providing C++11 functionality to C++03.

algorithm

Generic implementations of commonly-used algorithms.

Numerics

limits

Define numerical limits.

ratio

std::ratio-like class template compile-time rational arithmetic support.