Commit Graph

195 Commits

Author SHA1 Message Date
Peter Dimov c7923ca041 Change back mp_for_each to not use mp_identity 2017-05-29 03:04:12 +03:00
Peter Dimov edcff6fa6f Add test for mp_transform_q 2017-05-25 21:51:40 +03:00
Peter Dimov 6db4019341 Add mp_transform_if_q 2017-05-25 21:31:03 +03:00
Peter Dimov 0e0d7fae4e Enable fold expressions on g++ 2017-05-24 06:16:17 +03:00
Peter Dimov e81ce26bf9 Use fold expressions in mp_all, mp_any 2017-05-24 05:59:15 +03:00
Peter Dimov fc562c7421 Fix mp_all on g++ 4.7 2017-05-24 04:59:15 +03:00
Peter Dimov ecd77ab9fa Make mp_all fail when ::value is invalid for some type 2017-05-24 04:27:36 +03:00
Peter Dimov b306ab25aa Do not use auto on g++ 4.7 in mp_plus 2017-05-24 03:47:24 +03:00
Peter Dimov 2bd7393365 Use fold expressions in mp_plus 2017-05-24 02:50:43 +03:00
Peter Dimov 3e40aacce5 Document mp_plus 2017-05-24 01:52:11 +03:00
Peter Dimov 6b1a2f6156 Revert mp_or; add mp_void; update documentation 2017-05-24 01:37:49 +03:00
Peter Dimov 07cac40f3d Change mp_and/mp_or to a SFINAE-based implementation 2017-05-23 23:25:30 +03:00
Peter Dimov 29a771aa4e Move integer_sequence and tuple_for_each into mp11 2017-05-23 20:24:37 +03:00
Peter Dimov eac1bf28a5 Unextend mp_invoke g++ 4.x workaround 2017-05-19 16:22:41 +03:00
Peter Dimov 29c4b601b4 Extend msvc-12.0 mp_invoke workaround to g++ 4.x 2017-05-19 15:59:17 +03:00
Peter Dimov 7100d10c7e Make mp_infoke SFINAE-friendly 2017-05-19 15:37:49 +03:00
Peter Dimov 1d1be2bbf4 Add mp_eval_if_q 2017-05-19 03:22:53 +03:00
Peter Dimov 3cc44323e9 Second try to fix g++ 4.7 2017-05-19 01:13:09 +03:00
Peter Dimov ec9d43e7e9 Try to fix g++ 4.7 2017-05-19 01:00:56 +03:00
Peter Dimov 02385ac83d SFINAE-fail mp_transform on lists of different sizes 2017-05-18 16:13:55 +03:00
Peter Dimov 611ea810bd SFINAE-fail mp_eval_if when F<U...> is invalid 2017-05-18 15:22:05 +03:00
Peter Dimov 37bbb15375 Make the E parameter of mp_if optional 2017-05-18 14:59:46 +03:00
Peter Dimov 15e45290d0 Add mp_insert, mp_erase 2017-05-13 21:52:56 +03:00
Peter Dimov 647f669353 Add mp_product_q, update documentation 2017-05-13 21:07:54 +03:00
Peter Dimov 893d84fda2 Add mp_for_each 2017-05-13 00:10:50 +03:00
Peter Dimov d97b21261f Add tests for tuple_for_each and empty tuples 2017-05-12 23:37:37 +03:00
Peter Dimov 9fbf51bbcb Remove bind_front functionality from mp_quote 2017-05-12 19:43:03 +03:00
Peter Dimov 543a0f755e Add mp_apply_q 2017-05-12 19:21:27 +03:00
Peter Dimov 939a3b949d Add mp_bind_q, mp_bind_front(_q), mp_bind_back(_q), mp_transform_q 2017-05-09 20:53:00 +03:00
Peter Dimov 4521eff93c Cast the result of f() to void (avoid op,) 2017-05-08 18:59:19 +03:00
Peter Dimov 28c420edf7 Add mp_same. 2017-04-01 20:01:51 +03:00
Peter Dimov b02e9fbacc Add mp_bind. 2017-04-01 18:42:11 +03:00
Peter Dimov c92d314009 Implement mp_transform_if in terms of mp_transform 2017-04-01 18:08:19 +03:00
Peter Dimov fcbe835f4b Add a variadic mp_transform implementation 2017-04-01 17:39:02 +03:00
Peter Dimov e871f0c30c Optimize mp_append. 2017-03-27 02:00:48 +03:00
Peter Dimov 3cd3a916a8 Use __type_pack_element in mp_at(_c) 2017-03-25 20:32:40 +02:00
Peter Dimov 3242fdb134 Use narrowing instead of static_assert in mp_take 2017-03-24 19:12:13 +02:00
Peter Dimov c059b1ea3f Use narrowing instead of static_assert in mp_repeat 2017-03-24 19:00:52 +02:00
Peter Dimov 946861bb63 Make mp_replace(_if) SFINAE-friendlier. 2017-03-24 18:47:55 +02:00
Peter Dimov d3f4b099d2 Unroll mp_reverse_fold. 2017-03-24 18:10:07 +02:00
Peter Dimov e488469e9a Unroll mp_fold. 2017-03-24 17:21:38 +02:00
Peter Dimov 2bf9bad934 Unroll mp_reverse a bit more. 2017-03-24 16:55:06 +02:00
Peter Dimov c1485d5d51 Improve mp_copy_if, mp_remove(_if), mp_partition 2017-03-24 15:22:10 +02:00
Peter Dimov 42b4561725 Add mp_apply as an alias for mp_rename 2017-03-24 14:26:31 +02:00
Peter Dimov 828dadb167 Unroll mp_append a bit. 2017-03-24 01:15:44 +02:00
Peter Dimov 848c2ff82c Add fold expr implementations of mp_count, mp_count_if 2017-03-23 19:34:43 +02:00
Peter Dimov 72c9c49224 Unroll cx_plus a bit. 2017-03-23 19:22:42 +02:00
Peter Dimov 32938df318 Less clever, much faster, mp_take 2017-03-22 02:03:39 +02:00
Peter Dimov 321a54728f Add indirection in mp_quote to enable expansions of T... into a fixed parameter list 2017-03-20 16:55:00 +02:00
Peter Dimov 71ba80d18a Rename ::invoke to ::fn 2017-03-20 16:23:52 +02:00