Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
finite.cppm File Reference

Compile-time, array-backed realizations of a sequence and a net — the constexpr siblings of the heap-backed Path. More...

#include <array>
#include <cstddef>
import dedekind.sequences:net;
Include dependency graph for finite.cppm:

Classes

struct  dedekind::sequences::FiniteNet< X, Cap >
 A finite net: a tabulated morphism size_t → X (an IsNet, since std::size_t is a directed set). Read as a function d(v); the std::array tabulation is private business, not the interface. More...
struct  dedekind::sequences::FiniteSeq< T, Cap >
 A finite sequence: an array-backed range of length n ≤ Cap — the compile-time extensional realization of a sequence. More...

Detailed Description

Compile-time, array-backed realizations of a sequence and a net — the constexpr siblings of the heap-backed Path.

@partition :finite

finite__Overview

Path (:path) wraps std::vector: an extensional sequence that runs but cannot fold to a translation-time constant. FiniteSeq and Net here are its std::array-backed counterparts: the same IsSequence / IsNet shapes, evaluable at translation time. The pair is the two-way bridge one level down — one realization for run time, one for compile time.

See also
#330 undergraduate algorithms and data structures (work in progress): stacks, queues, heaps and trees.