Skip to content

geoffromer/std-make

 
 

Repository files navigation

JASEL: Just a simple experimental library for C++

Experimental library for C++11/14/17.

Proposals

This code forms the basis of several formal proposal to the C++ standard library

Ongoing new revisions proposals

Ongoing New proposals

Overrriden proposals

The following proposals have been abandoned and should be replaced by an alternative customization approach on ProductTypes

Development Status

This code is undocumented (other than via the proposals), not fully tested, constantly changing, and generally not fit for any use whatsoever.

License

Most of the source code in this project are mine, and those are under the Boost Software License. I have borrowed a lot from Hana original editions, before itbecomes Boost.Hana. A lot of code is inspired from the library Meta.

Supported Compilers

The code is known to work with the following compilers:

  • Clang 3.9.0 -std=c++11 -std=c++14 -std=c++1y
  • Clang 4.4.0 -std=c++11 -std=c++14 -std=c++1y
  • GCC 6.1.1 -std=c++11 -std=c++14 -std=c++1z

Other compiler and older versions could works as well, but are not tested regularly

Development Status: The aim of the library is to be portable on comforming C++11/14/17 compilers. However some modules require C++14:

  • product_type
  • sum_type,
  • functional/overload
  • swappable

Hopefully this will change in the future.

Header only library

Dependencies

Some parts of the code use other repositories as Boost, Optional and Expected. You will need to set some environment variable to be able to build the test.

Next follows the repositories and the required variable pointing to them:

How to test

You can either use CMAKE or Boost.Build.

Boost.Build

You need to have installed The 3 dependent repositories and define the variable described above. In order to run the tests go to the test folder and do

b2 toolset=<your tool set>

CMAKE

The CMAKE build doesn't use the additional repositories Optional and Expected, and so there are less test.

You need to install Boost and define the variable described above.

Do as you will do with CMAKE, make a build directory associated to your tool set and

mkdir build
cd build
cmake -C <toolset-file> <jasel-root-directory>

Then you can build the tests

make -j8

and run the test

make -j8 test

You can as well use CTEST.

Acknowledgements

Many thanks to Agustín K-ballo Bergé, David Sankel for his help, and pertinent feedback.

About

C++ generic make factory

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.9%
  • CMake 1.1%