131 Commits
Author SHA1 Message Date
Andrey Semashev 8c32ebea0b Removed executable flags from files. (#267) 2023-02-21 08:35:45 +08:00
niXman 3044c2beaf missing make_pair() for r-value refs (#264)
* missing make_pair() for r-value refs

hello guys!

the `make_pair()` for r-value refs is required for r-value, otherwise `non-copyable` but `movable` can be constructed.


thanks!

* fix for prev commit

conditional support for r-values was fixed

* the test case was added

* fix for prev commit

* Update Jamfile

* one more fix for Jamfile

* the forgotten r-value ctor was added

* ah, they should be conditional
2023-02-11 10:10:25 +08:00
Denis Mikhailov d6298309fb Implemented ability to set fallback for tag_of (#263) 2022-12-22 08:16:10 +08:00
djowel e79a8690f0 Merge branch 'develop' 2022-09-26 08:11:49 +08:00
Nikita Kniazev 4979945690 Fix -Wdeprecated-copy 2020-04-30 02:47:37 +03:00
djowel 19d6c7ad3b Fix is_view_impl to return false for non fusion sequences (just like is_sequence_impl). (reverted from commit 1c693f05bf) 2019-02-18 13:59:58 +08:00
djowel 1c693f05bf Fix is_view_impl to return false for non fusion sequences (just like is_sequence_impl). 2019-02-18 12:45:36 +08:00
Nikita Kniazev b5ba6cbd2b N3031 workaround for compilers without alias templates 2018-10-14 02:49:25 +03:00
Nikita Kniazev 2160949150 A slightly cleaner N3031 workaround 2018-10-12 00:34:20 +03:00
Nikita Kniazev d1da8ee746 Simplify is_same_size 2018-10-07 23:17:40 +03:00
Nikita Kniazev c1fea895c2 Update decltype(expr)::type WA for Clang 3.0 2018-08-17 01:36:56 +03:00
Nikita Kniazev b0f0882229 Define traits::is_view for non fusion types 2018-08-03 00:24:10 +03: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