Jonathan Poelen 79fb6dc191 optimize mp_map_replace
compiler |      gcc-15        |     clang-20
before   | 0:00.39s - 114524K | 0:00.66s - 155888K
after    | 0:00.38s - 114140K | 0:00.64s - 155184K

```cpp
template<class I, class L = mp_transform<mp_list, mp_iota<I>>> using test
  = mp_map_replace<L, mp_list<I,I>>;

using r1 = mp_transform<test, mp_iota_c<120>>;
```
2026-03-24 14:40:40 +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 14:40:40 +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%