mirror of
https://github.com/boostorg/mp11.git
synced 2026-07-07 17:10:56 +02:00
a76ce80d1ada8d2b7345fe537e2327c066a11e07
compiler | gcc-12 | clang-15 before | 0:00.34s - 134428K | 0:00.33s - 124720K after | 0:00.29s - 116920K | 0:00.32s - 122568K ```cpp using namespace boost::mp11; template<class I> using f = mp_replace_at<mp_iota<I>, I, void>; template<class I> using test = mp_transform<f, mp_iota<I>>; using r1 = mp_transform<test, mp_iota_c<50>>; ```
Mp11, a C++11 metaprogramming library
Mp11 is a C++11 metaprogramming library based on template aliases and variadic templates. It implements the approach outlined in the article "Simple C++11 metaprogramming" and its sequel.
Mp11 is part of Boost, starting with release 1.66.0. It
however has no Boost dependencies and can be used standalone, as a Git submodule, for
instance. For CMake users, add_subdirectory is supported, as is installation and
find_package(boost_mp11).
Supported compilers
- g++ 4.8 or later
- clang++ 3.9 or later
- Visual Studio 2013 or later
Tested on Github Actions and Appveyor.
License
Distributed under the Boost Software License, Version 1.0.
Description
Languages
C++
99.1%
CMake
0.5%
Python
0.1%
Shell
0.1%
Batchfile
0.1%