Core Foundations - Guides
Recipe-style walk-throughs for the Core Foundations topic - the Bodu.Core, Bodu.Collections, and Bodu.Collections.Concurrent packages, plus the Bodu.Text namespace that ships inside Bodu.Core. These are the building blocks the rest of the suite stands on: bounded collections, eviction-aware caches, pooled buffers, day-of-week patterns, argument guards, and character-encoding helpers.
If you have not yet installed the packages, start with the topic overview for the package map and install commands, and the topic concepts page for the shared vocabulary.
Guides for the package family
Overview
The full guide index for the Core Foundations packages, organized by namespace - every collection, buffer, and root-namespace primitive, which guide covers each, and which package ships it.
Choosing a collection
The decision guide - a quick decision tree plus per-axis tables (access pattern, capacity and lifecycle, concurrency) that map requirements to the correct type.
Circular buffer
Fixed-capacity FIFO ring buffer - single-threaded CircularBuffer<T> (in Bodu.Collections) and thread-safe ConcurrentCircularBuffer<T> (in Bodu.Collections.Concurrent), overwrite mode, peek / dequeue / try-enqueue patterns.
Evicting dictionary
Capacity-bounded key-value store with FIFO, LRU, LFU, MRU, Random, and Second-Chance eviction policies - the drop-in cache primitive. Thread-safe ConcurrentEvictingDictionary<TKey,TValue> (in Bodu.Collections.Concurrent) adds lock-striped segments, TTL, and single-flight GetOrAdd.
Pooled buffer builder
PooledBufferBuilder<T> - ArrayPool-backed building of byte and character spans without allocation, with the ownership and lifetime rules.
WeekPattern
Immutable bitmask value type for day-of-week sets - composition (MTuW), bitwise operators, parsing, and enumeration.
Bodu.Text
The Bodu.Text character-encoding helpers (BOM detection, span- and UTF-8-friendly transcoding, preamble handling, validation) have their own guide - Encoding helpers and BOM detection - which walks every surface pattern by pattern. Pair it with the Bodu.Text introduction for the scenario map and the Bodu.Text API reference for the type-by-type docs.
Start here
- Topic overview - what ships in each package, the dependency map, and the "which do I need?" table.
- Topic concepts - the guard convention, bounded vs. growable capacity, eviction policies, pooled buffers, and the encoding vocabulary.
- Choosing a collection - pick the right type before writing code against the wrong one.
- The walk-through for your type - circular buffer, evicting dictionary, pooled buffer builder, or WeekPattern; the guide overview lists the rest (deque, indexed priority queue, ordered sets, multiset, multi-value dictionary, range-keyed lookups, segmented buffer, concurrent collections).
Where to go next
- Core Foundations overview - the topic landing page on the docs side.
- Core Foundations concepts - cross-member vocabulary.
- Bodu.Core introduction and getting started - namespace map and minimal samples.
- Bodu.Collections introduction and Bodu.Collections.Concurrent introduction - the collection packages' namespace maps.
- API reference: Bodu.Collections.Generic · Bodu.Text.
- Complete guide indexes (this page shows the highlights; each index lists every guide for its package): Core Foundations guides.