Jonathan Poelen 31ced7d7e2 optimize mp_replace_if
compiler |      gcc-15       |     clang-20
before   | 0:00.23s - 76088K | 0:00.37s - 116984K
after    | 0:00.22s - 75348K | 0:00.35s - 114952K

```cpp
template<class> using pred = mp_false;
template<class I, class L = mp_iota<I>> using test
  = mp_replace_if<L, pred, I>;

using r1 = mp_transform<test, mp_iota_c<120>>;
```
2026-03-24 05:21:51 +02:00
2026-03-23 16:15:20 +02:00
2026-03-23 16:57:31 +02:00
2025-11-01 14:12:53 +02:00
2026-03-24 05:21:51 +02:00
2020-06-11 16:40:34 +03:00
2026-03-23 16:15:20 +02:00
2015-06-21 19:51:06 +03:00
2021-06-13 01:16:58 +03:00
2024-04-18 11:31:22 +03:00
2024-08-27 14:44:26 +03:00
2017-08-04 02:32:23 +03:00
2023-05-14 06:58:48 +03:00

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.

S
Description
C++11 metaprogramming library
Readme 2.2 MiB
Languages
C++ 99.1%
CMake 0.5%
Python 0.1%
Shell 0.1%
Batchfile 0.1%