Commit Graph
127 Commits
Author SHA1 Message Date
Kohei Takahashi a844a55846 Remove redundant noexcept specifier
to compile with gcc 4.6
2018-05-13 16:56:46 +09:00
Kohei Takahashi 37e4fab58b Added notes for CWG 496 and CWG 2094
rename macros to be more descriptive
2018-05-10 00:55:07 +09:00
Kohei Takahashi 8e25d0ef77 Enabled using compiler builtin 2018-05-09 03:04:03 +09:00
Kohei Takahashi 8a2f444761 Fixed fallback traits condition 2018-05-08 23:13:12 +09:00
Kohei Takahashi dfa3650307 Make sure that are class type 2018-05-08 13:09:46 +09:00
Kohei Takahashi cb4a4cdde7 It should be default constructible 2018-05-08 00:23:04 +09:00
Kohei Takahashi b03d1e9458 Added utility for forcing to be non trivial copyable 2018-05-07 23:17:25 +09:00
Kohei Takahashi c7ba5595fc Added is_trivially_copyable traits 2018-05-07 22:33:06 +09:00
Kohei Takahashi 68be23a0b9 Merge upstream branch 'develop' into support 2018-04-27 20:32:09 +09:00
Kohei Takahashi 6f8de8d774 Added workaround for fold expr and dependent name 2018-04-27 20:29:06 +09:00
Kohei Takahashi 5221bbbc76 Added workaround for defaulted and noexcept 2018-04-27 14:56:23 +09:00
Kohei Takahashi 0e900bba3f Specify defaulted and remove unnecessary functions from unused_type 2018-04-27 12:37:37 +09:00
Kohei Takahashi 3b8fb67b52 Update WA condition 2018-04-22 03:44:57 +09:00
Kohei Takahashi a273cd8131 Added workaround for msvc-14.x 2018-04-19 00:21:41 +09:00
Kohei Takahashi e3b053f969 Remove detail metafunctions to simplify template 2018-03-15 20:49:38 +09:00
Kohei Takahashi 11a3f250b8 Remove unused header 2018-03-15 19:56:07 +09:00
Kohei Takahashi d8f608c8f1 Move is_native_fusion_sequence to detail
in order to reuse it in is_mpl_sequence
2018-03-14 14:53:30 +09:00
Kohei Takahashi 2aea153be0 Use fold expression to improbe compile speed 2018-03-14 14:53:07 +09:00
Louis Dionne 82f677c169 Allow incomplete types in fusion::tag_of and fusion::is_native_fusion_sequence 2018-03-02 02:03:43 -08:00
Kohei Takahashi c158886591 Workaround for MSVC 12 variadics bug. 2016-10-29 21:29:26 +09:00
Lee Clagett 55150a7fa6 Add DISABLE_VARIADIC_VECTOR and SFINAE for c++11 tuple element construction 2016-07-26 14:53:26 -04:00
Kohei Takahashi 5ed26ec932 Drop Byte-order-Marker. 2016-02-16 23:55:59 +09:00
Kohei Takahashi b88daeb697 Detect std::integer_sequence availability.
It will allow to reuse compiler cache easier.
2016-02-13 11:57:41 +09:00
Kohei Takahashi 64b8406c16 Introduce detail::enabler instead of fusion::void_. 2015-12-10 17:06:04 +09:00
Kohei Takahashi 981f71d04f Use boost::enable_if_has_type instead. 2015-11-01 11:10:11 +09:00
Joel de Guzman 18742c6922 Merge pull request #105 from boostorg/variadics
Merge variadics into develop.
2015-10-22 15:40:04 +08:00
Kohei Takahashi ce4ccb929c Check the argument being fusion sequence or not. 2015-10-08 22:23:10 +09:00
Kohei Takahashi d3449ab5e5 Overhaul the fusion::fold family to make SFINAE-friendly. 2015-09-04 00:51:56 +09:00
Kohei Takahashi 8242c688e7 Older GCC doesn't accept use of this in constexpr.
Fix #11517
2015-08-03 00:03:40 +09:00
Kohei Takahashi 24f527d401 Use BOOST_CONSTEXPR_OR_CONST instead.
Older GCC cannot specify both of const and constexpr to variable decl.

Partially fix #11517
2015-08-02 21:58:20 +09:00
Joel de Guzman 6fe816fe89 Merge pull request #85 from Flast/feature/no_bounds_sequence
Feature/no bounds sequence
2015-06-25 23:09:18 +08:00
Kohei Takahashi d29dc277e6 Renaming No-bounds concept to Unbounded concept. 2015-06-25 22:42:44 +09:00
Kohei Takahashi 1e21a4eb7a Add new traits named has_no_bounds.
It is for special usecase: some thing like a window function.
This commit relative to c9ae4fc886 .
Users who wants to access out-of-bounds of sequence, specify new
category to it.

    struct sequence {
        struct category
            : fusion::random_access_traversal_tag
            , fusion::no_bounds_tag {};
        ...
    };

All of bounds related intrinsics of the /no-bounds-sequence/ *should*
guarantee to be well-defined or SFINAE-friendly, or compile error.
2015-06-23 09:44:03 +09:00
Kohei Takahashi 2b14951660 Split c++14 like index_sequence into support/detail. 2015-06-22 21:58:54 +09:00
Kohei Takahashi e0f10734b1 Fix issue 11267.
Compiler yields compile error within a function witch used in unevaluate
context of constexpr function because of CWG 1581 [2].

1. https://llvm.org/bugs/show_bug.cgi?id=23135
2. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1581
2015-06-08 11:53:17 +09:00
Kohei Takahashi 6e569bcdc3 Fix workaround condition: || v.s. &&.
see: https://github.com/boostorg/fusion/commit/01a2d6557ea65fb4c5ec6f3e50d3340c1c13629d#commitcomment-10697799
2015-04-14 13:39:50 +09:00
Joel de Guzman de50f65380 fixes #11161 2015-04-01 19:09:42 +08:00
Joel de Guzman b56eb59595 Merge pull request #65 from Flast/bugfix/msvc
Adjust LWG2408 workaround enabling condition.
2015-03-31 00:00:44 +08:00
Kohei Takahashi 01a2d6557e Adjust LWG2408 workaround enabling condition. 2015-03-25 21:49:22 +09:00
Kohei Takahashi 8c72a0012f Merge remote-tracking branch 'origin/develop' into feature/sfinae-friendly-result_of 2015-03-09 10:45:42 +09:00
Kohei Takahashi f45c94fa43 Merge remote-tracking branch 'origin/develop' into feature/constexpr 2015-03-04 02:20:52 +09:00
Kohei Takahashi 2114bfca6c More constexpr and noexcept support.
Note 1: Forwarding functions are specified as a C++14 constexpr since
std::forward is not a constexpr within C++11.

Note 2: Though I'm not sure why it doesn't compile, some declarations
are specified as a C++14 constexpr or non-constexpr.

Note 3: Boost.Tuple adaptation and TR1-based tuple implementations are
not constexpr.
2015-03-03 02:21:02 +09:00
Kohei Takahashi bd4b1cdac6 Fix #10443: SFINAE-friendly result_of::invoke.
It means previous pull-requests (#24) is still incomplete.
2015-02-12 21:21:01 +09:00
Kohei Takahashi 6ab68a29d8 Workaround for LWG 2408: SFINAE-friendly std::iterator_traits.
Now available for GCC(libstdc++v3) < 4.5 and MSVC 12.0.
It means, there is no ambiguous about calling next/prior/... via ADL.
2015-02-05 23:04:36 +09:00
Kohei Takahashi ce8bf1079a Support removing the C++11 standard reference wrappers. 2015-01-15 18:58:33 +09:00
Kohei Takahashi d7c918e36f Fix ODR-used violations. 2015-01-11 02:15:45 +09:00
Kohei Takahashi fbbfc16d2d Workaround for MSVC8.0
I'm not sure why it doesn't compile...
2014-11-26 01:49:07 +09:00
Kohei Takahashi 9ab7774fd7 Replace some usage of std::forward to static_cast.
For more details, See inline comment of include/boost/fusion/support/config.hpp .
2014-11-26 01:35:55 +09:00
Joel de Guzman 2a50f7caad Better patch from Kohei Takahashi! Allows good forwarding on C++11
while still allowing C++03.
2014-11-19 08:31:35 +08:00
Joel de Guzman 63045e8611 remove unnecessary actor to tighten ADL resolution. the one above it is
sufficient.
2014-11-15 09:54:21 +08:00