View on GitHub


Experiments in C++ Library Design

Download this project as a .zip file Download this project as a tar.gz file

The Origin libraries are a collection of libraries written using the latest features of the C++ programming language. They are designed to wrap the C++ standard library and provide replacements for older features and new experimental features. The goal of this work is to foster experimentation in library design and to serve as a data point for the standardization efforts within C++.

Currently, this site serves two primary purposes: to document the evolution and usage of concepts, as documented in the ISO Concepts TS, and to provide a basic set of facilities based on that language feature.

Work is currently focused on the use of concepts to specify and implement a new version of the C++ standard library. Note that this work is independent of the ISO Ranges TS (STLv2), although many ideas overlap. Because the Origin libraries are experimental, certain facilities may be quite different than those proposed for the C++ standard (generally simpler).


The following people have been active in the design and implementation of C++ concepts, their implementation in GCC, and the Origin Libraries.