Articles
Narrative documentation and library overviews complement the auto-generated API reference.
If you are new to Bodu, start with the project introduction and the cross-library getting-started page. The Bodu.IO.Hashing and Bodu.Security.Cryptography introductions map the hashing and cryptography type hierarchy and explain how to choose between types that sound similar.
API namespace landing pages
Each top-level namespace has a landing page that introduces its purpose, lists its key types, and shows a minimal usage example before handing off to the auto-generated reference.
Bodu - Bodu.Core foundations The
WeekPatternvalue type, pooled buffers, theBodu.Threadingasync coordination primitives, theBodu.Functionalrailway outcomes (Option<T>/Result<T>/Either<TLeft,TRight>), the date / numeric / span extensions, and the centralizedThrowHelperargument validation every other package builds on.Bodu.Collections.Generic - the Bodu.Collections catalogue Fixed-capacity circular buffers, the
Deque<T>, theEvictingDictionary<TKey, TValue>with six eviction policies, theSequencedDictionary<TKey, TValue>(JavaLinkedHashMapshape) with insertion/access ordering and O(1) first/last access, range-keyed dictionaries, navigable sets, interval trees, graphs, tries, and the probabilistic sketches - shipped in theBodu.Collectionspackage, with the lock-free and lock-striped variants inBodu.Collections.Concurrent.Bodu.IO.Hashing - fingerprints, checksums, and check digits Non-cryptographic hashes on
System.IO.Hashing.NonCryptographicHashAlgorithm- the full CRC RevEng catalogue (widths 1-64 bits), the Fletcher 16 / 32 / 64 family, Adler-32 / 32C / 64, FNV-1 / 1a, CityHash, MurmurHash3, Pearson, classic string hashes - plus single- and multi-character check digits (Luhn, Damm, Verhoeff, EAN, GTIN, IBAN, ISBN, SEDOL, CUSIP, LEI).Bodu.Security.Cryptography - ciphers, hashes, AEAD, and streaming tree digests Managed block ciphers (Threefish 256 / 512 / 1024, Serpent 128 / 256 / 512 / 1024, Camellia, Twofish, Blowfish, Skipjack), an
AesBlockCipheradapter over the BCL AES engine paired with six AEAD mode transforms (GCM, CCM, OCB, EAX, SIV, GCM-SIV), keyed hashes (SipHash, Poly1305), cryptographic digests (Tiger, CubeHash, Snefru, Whirlpool, BLAKE2/3, Skein, Shake, ASCON), Merkle-tree hashing, and full ASCON-AEAD support.Bodu.Globalization.Calendar - notable-date resolution Rule-driven notable-date resolution with fixed, day-of-week-in-month, offset, and algorithm strategies - including Gregorian and Orthodox Easter, Hindu Lunar dates, Losar, Vesak, Asalha Puja, and Qingming - driven from pluggable XML or JSON rule sources, an observance-adjustment pipeline, and a trust-policy-driven plugin host.
Bodu.Text.Filtering - include/exclude text filtering A high-performance filtering engine for lists of text values: glob (wildcard, character-class,
{a,b}alternation) and regex patterns compiled once into a cost-tieredTextFilterthat runs the cheapest strategies first. Ant / MSBuild-styleAnyMatchsets or gitignore-styleLastMatchWinsordered rules with!re-inclusion, gitignore-convention line parsing, and built-in telemetry - decision counters, per-pattern hit counts, and a per-decision observer hook.Bodu.Text.Formats - line-oriented text document formats An umbrella over three
System.Text.Json-shaped sibling packages - Delimited (RFC 4180 CSV / TSV), DotEnv (.envkey/value), and INI (comment-preserving) - each exposing the same shape: a forward-onlyUtf8…Reader/Utf8…Writerpair, a…SerializerPOCO mapper (with streaming and reflection-free factory overloads), a mutable…NodeDOM and a read-only…DocumentDOM, dialect policies for dirty input, and strict invariant enforcement.Bodu.Text.Bencode, Bodu.Text.Toml & Bodu.Text.Yaml - object-mapping serializers Three libraries that map your own types to and from a format - Bencode (BitTorrent BEP 3), TOML (v1.0.0 / v1.1.0), and YAML (1.2 core schema). Deliberate siblings over the shared
Bodu.Text.Serializationengine, each shipping a…Serializer, a mutable…Nodeand a read-only…DocumentDOM, a low-levelUtf8…Reader/Utf8…Writerref-struct pair, and the full converter / attribute / callback / naming-policy surface.Bodu.Text - encoding detection and text/byte conversion helpers BOM-based
EncodingDetectionplusEncodingExtensionsandStringEncodingExtensions- span-, UTF-8-, and pooled-buffer-friendly transcoding, preamble handling, and validation on top ofSystem.Text.Encoding, shipped in theBodu.Corepackage. For binary-to-text codecs (Base16/32/58/64/85), seeBodu.Text.Encoding.Bodu.Numerics - exact rational arithmetic and bounded intervals
Fraction<T>for canonical rational arithmetic over anyIBinaryInteger<T>backing type, withBigInteger-promoted intermediates, the fullINumber<T>/ISignedNumber<T>surface, mixed-number and Unicode-vulgar-fraction formatting, continued-fraction expansion, and best rational approximation.Interval<T>for closed / open / half-open intervals with intersection, union, and adjacency.Bodu.Financial - type-safe monetary primitives
Money<TCurrency>where the currency is encoded as the type parameter so cross-currency arithmetic fails the build;Moneyfor runtime-tagged scenarios;MoneyBagfor multi-currency portfolios; a shipped catalogue of 184 ISO 4217 currencies (active + historic with demonetisation metadata); an audit-gradeIDatedRateProviderstack; fair allocation; cash rounding;Fraction<BigInteger>interop for sub-minor-unit-precise chains; and three JSON wire shapes (strict / lenient / compact).
Guides
- Core Foundations guides - circular buffer, deque, evicting dictionary, week pattern.
- Bodu.IO.Hashing guides - fingerprints (FNV, CityHash, MurmurHash3, Pearson, classic string hashes), checksums (CRC, Fletcher, Adler), and check digits.
- Bodu.Security.Cryptography guides - encryption basics, cipher block modes, AEAD, padding, composing primitives, keyed and cryptographic hashing, the ASCON family.
- Bodu.Globalization.Calendar guides -
NotableDateService, built-in date-calculation algorithms, rule authoring (XML / JSON / fluent builder), working-day arithmetic, and data packs. - Bodu.Text.Formats guides - the Delimited (CSV / TSV), DotEnv, and INI codecs, and streaming support.
- Bodu serializer guides - Using TOML, Using Bencode, Using YAML, and writing converters.
- Bodu.Numerics guides -
Fraction<T>,Interval<T>. - Bodu.Financial guides -
Money<TCurrency>. - Binary Formats & I/O guides - Bodu.IO.Compound (reading, editing, and authoring CFB containers, property sets), Bodu.Formats.Excel.Binary (BIFF8
.xlsworkbooks, cells, and dates), and Bodu.Formats.Outlook (.msgmessages, MAPI properties, and named properties).
Project documentation
- Introduction - project overview, design principles, and the per-library map.
- Getting started - prerequisites, install commands, and one-minute samples per library.
- Per-library introductions: Bodu.Core · Bodu.IO.Hashing · Bodu.Security.Cryptography · Bodu.Globalization.Calendar · Bodu.Text.Formats · Bodu.Text · Bodu.Numerics · Bodu.Financial · Bodu.IO.Compound · Bodu.Formats.Excel.Binary · Bodu.IO.Pst.