Skip to content

API Reference

Complete Type Index

Containers (include/prototype/containers/)

Type Header Description
vector<T, A> vector.hpp Dynamic array
fixed_vector<T, N> vector.hpp Fixed-capacity vector
array<T, N> array.hpp Fixed-size array
list<T, A> list.hpp Doubly-linked list
forward_list<T, A> forward_list.hpp Singly-linked list
deque<T, A> deque.hpp Double-ended queue
string<A> string.hpp Dynamic string with SBO
fixed_string<N> string.hpp Fixed-capacity string
span<T> span.hpp Non-owning view
optional<T> optional.hpp Nullable value
variant<Ts...> variant.hpp Discriminated union
bitset<N> bitset.hpp Fixed-size bit array
flat_map<K, V, C, A> flat_map.hpp Sorted vector map
flat_set<K, C, A> flat_set.hpp Sorted vector set
ring_buffer<T, N> ring_buffer.hpp Circular buffer
static_map<K, V, N> static_map.hpp Fixed-capacity map
stack<T, C> stack.hpp LIFO adaptor
queue<T, C> queue.hpp FIFO adaptor

Algorithms (include/prototype/algorithms/)

Function Header Description
sort sort.hpp Introsort (adaptive)
stable_sort sort.hpp Merge sort
partial_sort sort.hpp Sort first K elements
nth_element sort.hpp Partition around nth
find, find_if find.hpp Linear search
binary_search find.hpp Sorted range search
lower_bound, upper_bound find.hpp Sorted range bounds
copy, copy_if, copy_n copy.hpp Range copy
move copy.hpp Move elements
fill, fill_n fill.hpp Fill range
generate fill.hpp Generate values
transform transform.hpp Apply function
partition partition.hpp Partition range
merge merge.hpp Merge sorted ranges
rotate rotate.hpp Rotate elements
equal, mismatch compare.hpp Range comparison
make_heap, push_heap, pop_heap heap.hpp Heap operations
accumulate numeric.hpp Fold/reduce
inner_product numeric.hpp Dot product
partial_sum numeric.hpp Running totals
iota numeric.hpp Sequential fill

Allocators (include/prototype/allocators/)

Type Header Description
memory_arena<Size> memory_arena.hpp Fixed-size memory block
default_allocator<T> allocator.hpp malloc/free wrapper
arena_allocator<T> arena_allocator.hpp Bump-pointer allocator
pool_allocator<T> pool_allocator.hpp Fixed-block free-list
stack_allocator<T> stack_allocator.hpp LIFO allocator

Iterators (include/prototype/iterators/)

Type/Function Header Description
iterator_traits<It> iterator_traits.hpp Type introspection
reverse_iterator<It> reverse_iterator.hpp Reverse adaptor
move_iterator<It> move_iterator.hpp Move-semantics adaptor
advance, distance, next, prev operations.hpp Iterator operations

Functors (include/prototype/functors/)

Type Header Description
less<T>, greater<T>, etc. comparators.hpp Comparison functors
plus<T>, minus<T>, etc. arithmetic.hpp Arithmetic functors
logical_and<T>, etc. logical.hpp Logical functors
function<Sig> function.hpp Type-erased callable
hash<T> hash.hpp Hash functions

Concurrency (include/prototype/concurrency/)

Type Header Description
atomic<T> atomic.hpp Lock-free atomic
spinlock spinlock.hpp Busy-wait lock
spsc_queue<T, N> spsc_queue.hpp Lock-free SPSC queue

Utilities (include/prototype/utility/)

Function Header Description
move(x) move.hpp Cast to rvalue
forward<T>(x) forward.hpp Perfect forwarding
swap(a, b) swap.hpp Exchange values
pair<T1, T2> pair.hpp Pair type

Configuration (include/prototype/config.hpp)

Macro Description
PROTOTYPE_CPP_VERSION Detected C++ standard (11, 14, 17, 20)
PROTOTYPE_COMPILER_GCC Defined if GCC
PROTOTYPE_COMPILER_CLANG Defined if Clang
PROTOTYPE_COMPILER_MSVC Defined if MSVC
PROTOTYPE_DEBUG Enable debug assertions
PROTOTYPE_SAFE Enable safe mode (no UB)