https://github.com/cjdb/cjdb-ranges
A reference implementation for C++20 ranges
https://github.com/cjdb/cjdb-ranges
clang concepts cpp20 range-abstractions ranges
Last synced: over 1 year ago
JSON representation
A reference implementation for C++20 ranges
- Host: GitHub
- URL: https://github.com/cjdb/cjdb-ranges
- Owner: cjdb
- License: apache-2.0
- Archived: true
- Created: 2018-09-13T08:55:05.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2020-07-01T04:33:10.000Z (almost 6 years ago)
- Last Synced: 2025-02-24T13:43:17.229Z (over 1 year ago)
- Topics: clang, concepts, cpp20, range-abstractions, ranges
- Language: C++
- Homepage:
- Size: 404 KB
- Stars: 6
- Watchers: 5
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# cjdb-ranges
`cjdb-ranges` is a C++20 implementation for range abstractions. It prioritises the implementation
for [C++20 ranges][1] using the [clang-concepts-monorepo][2] fork of Clang, but supports both libc++
and libstdc++.
## What are 'C++20 ranges'?
The term 'C++20 ranges' is used to refer to range abstractions that can be found in standard C++20.
_Most_ of this content can be found in the [[concepts]][3], [[iterators]][4], [[ranges]][5], and
[[algorithms]][6] clauses of the C++20 specification, but a handful can be found in the
[[function.objects]][7] subclause as well.
## Installing cjdb-ranges
Please see [doc/install.md][8].
## Getting started
Please see [doc/getting-started.md][9].
[1]: #what-are
[2]: https://github.com/saarraz/clang-concepts-monorepo
[3]: http://eel.is/c++draft/algorithms
[4]: http://eel.is/c++draft/concepts
[5]: http://eel.is/c++draft/iterators
[6]: http://eel.is/c++draft/ranges
[7]: http://eel.is/c++draft/function.objects
[8]: doc/install.md
[9]: doc/getting-started.md