di 0.1.0
Loading...
Searching...
No Matches
di Library

A free-standing alternative C++ standard library, using bleeding edge C++ features (C++ 26).

Features

  • Free-standing support (can build with no C++ or C standard header files, and replaces exceptions with result types)
  • Header only, trivially installable
  • Platform independent
    • Certain functionality, like allocation, depends on a default platform allocator. This is suitable for normal applications as well as Operating System kernels.
      • Iros is an minimal kernel built using di.
      • dius is a user space library built using di.
  • Wide coverage of C++ library functionality, including:
    • Containers (Vector, String, Ring buffer, Linked list)
    • Vocabulary types (Optional (supports references), Expected, Result, Tuple, Variant, Function)
    • Supports C++ 20 standard range based algorithms and views
    • Formatting (std::format like)
    • Parsing strings
    • Async Execution (p2300) and coroutine support that handles allocation failures
    • CLI argument parser
    • Mini unit test library
    • Verbose static reflection library (hopefully will be obsoleted by C++ someday)
    • Type-erasure library (Any) support using tag_invoke() magic.

Library Component Overview

See here.

Building

See here.

Developing

See here.