Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chromium/subspace
A concept-centered standard library for C++20, enabling safer and more reliable products and a more modern feel for C++ code.; Also home of Subdoc the code-documentation generator.
https://github.com/chromium/subspace
cxx cxx20 functional-programming safety standard-library
Last synced: about 1 month ago
JSON representation
A concept-centered standard library for C++20, enabling safer and more reliable products and a more modern feel for C++ code.; Also home of Subdoc the code-documentation generator.
- Host: GitHub
- URL: https://github.com/chromium/subspace
- Owner: chromium
- License: apache-2.0
- Created: 2022-05-06T22:06:15.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-04T14:41:20.000Z (2 months ago)
- Last Synced: 2024-09-28T17:40:55.377Z (about 2 months ago)
- Topics: cxx, cxx20, functional-programming, safety, standard-library
- Language: C++
- Homepage: https://suslib.cc
- Size: 6.57 MB
- Stars: 88
- Watchers: 7
- Forks: 15
- Open Issues: 79
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[![CI](https://github.com/chromium/subspace/actions/workflows/ci.yml/badge.svg)](https://github.com/chromium/subspace/actions/workflows/ci.yml)
[![docs](https://github.com/chromium/subspace/actions/workflows/subdoc.yml/badge.svg)](https://suslib.cc)# Subspace Library
An [experimental take](https://danakj.github.io/2022/12/31/why-subspace.html)
on a safer, simpler C++ standard library.Please don't use this library. This is an experiment and we don't yet know where
it will take us. There will be breaking changes without warning, and there is no
stable version.1. See [BUILD.md](BUILD.md) for instructions on building Subspace and Subdoc
and running their tests.
1. See [USAGE.md](USAGE.md) for instructions on integrating the
Subspace library into your project.
1. See [PRINCIPLES.md](PRINCIPLES.md) for the principles behind design choices in
the Subspace library.
1. See [STYLE.md](STYLE.md) for evolving guidance and best practices for
developers of the Subspace library.## Subdoc
[Subdoc](subdoc/) is a documentation generator from inline C++ documentation
in the spirit of
[Rustdoc](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html).The comments in the Subspace library use markdown syntax with additional Subdoc
attributes, and are designed to be consumed by Subdoc in order to generate an
HTML website.Subdoc is built on top of Subspace, giving the developers a chance to see the
Subspace library in action and test the ergonomics and features of the library.**Status:**
Subdoc is still very much a work-in-progress, but it is being used to generate
[Subspace documentation](https://suslib.cc)
on each commit.## Compiler Support
Subspace is a
[concept-first](https://en.cppreference.com/w/cpp/language/constraints)
library and requires C++20.
Compiler support for C++20 varies, and with active development ongoing, bugs in
their implementations still appear and disappear regularly. When in doubt,
check out which compiler versions are used by the
[CI bots](.github/workflows/ci.yml).| Compiler | Version |
|------------|---------|
| **Clang:** | 16 and up |
| **GCC**: | 13 and up |
| **MSVC**: | VS2022 17.8.1 (Build 17.8.34316.72) and up |We attempt to work around bugs when reasonable, to widen compiler version
support. See [compiler_bugs.h](sus/macros/__private/compiler_bugs.h) for
the set of bugs we are aware of and currently work around.