Commit Graph

54 Commits

Author SHA1 Message Date
1df7fc1dca Revert "Remove unnecessary overloads, state should always be const."
This reverts commit 9b77c26a24.

As discussed on github, the original code was wrong.
2015-09-08 13:59:48 +09:00
9b77c26a24 Remove unnecessary overloads, state should always be const. 2015-09-08 00:22:58 +09:00
59dfeec815 Add workarounds for older MSVC. 2015-09-08 00:18:37 +09:00
d3449ab5e5 Overhaul the fusion::fold family to make SFINAE-friendly. 2015-09-04 00:51:56 +09:00
2445f60981 Fix #11249: missing includes. 2015-05-05 14:09:20 +09:00
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
d7c918e36f Fix ODR-used violations. 2015-01-11 02:15:45 +09:00
68b4683e95 added missing include 2014-11-18 14:12:07 +08:00
4c110d9a88 Regen preprocessed headers. 2014-11-01 20:50:11 +09:00
c704efb49c correct fix for ticket 10676. this is a temporary fix until we overhaul the fold implementation. 2014-10-27 19:45:38 +08:00
ba723a2cad Merge pull request #23 from Flast/bugfix/cxx14-constexpr
Improve constexpr supports
2014-10-21 22:55:54 +08:00
3d19bf9d96 fixes ticket 10676. for now, we'll use tr1_result_of. we'll have to do an overhaul of the fold implementation because making it sfinae friendly goes deep down into the low level internals. 2014-10-20 05:55:48 +08:00
fdb6598194 Make fold as a single return stmt due to C++11 constexpr.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-18 22:49:09 +09:00
badf3f2a47 Fix forward declaration in conflict with constexpr.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-18 22:49:08 +09:00
bcc2530f19 Do not expand BOOST_{CXX14_}CONSTEXPR while preprocessing.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-18 22:49:08 +09:00
c2abefbab8 Initial constexpr support
This allows to use, e.g., boost::fusion::fold within constexpr functions.

The BOOST_CONSTEXPR macro is used to declare functions constexpr.
2014-08-06 11:09:40 +02:00
c4f9f0d1b6 gpu-enable functions 2014-01-22 23:55:53 -08:00
e1dc534877 build target for preprocessing Fusion with wave 2014-01-21 14:17:09 -08:00
752f911a91 #7427 (Warning fixes in fusion)
[SVN r80812]
2012-10-02 01:12:19 +00:00
b63c8214d7 Patches from Nathan Ridge using SFINAE to disable the Fusion algorithms for non-{Fusion sequence} types
[SVN r78463]
2012-05-14 00:37:21 +00:00
2dd633a572 fixed missing includes in main hpp files
[SVN r74463]
2011-09-19 00:12:42 +00:00
9b16a51364 preprocessed files gen for algorithm
[SVN r74449]
2011-09-18 10:48:29 +00:00
af90b6660b patch to silence clang warning
[SVN r74441]
2011-09-18 00:28:09 +00:00
0e7a013851 Bumped copyright date
[SVN r74407]
2011-09-16 05:30:23 +00:00
9fcb3105e5 make fold aware of segments
[SVN r73906]
2011-08-18 23:14:48 +00:00
5ff6210759 make for_each aware of segments
[SVN r73899]
2011-08-18 22:09:59 +00:00
b8bb98a36b simplify segmented_fold_until interface
[SVN r73898]
2011-08-18 21:33:39 +00:00
9dd14c435e make find and find_if algorithms segment-aware, stylistic consistency tweaks
[SVN r73892]
2011-08-18 17:12:05 +00:00
2ccb8d604f progress with integrating the segmented Fusion work
[SVN r73831]
2011-08-16 23:07:51 +00:00
b83a2954f5 segmented_fold_until should unpack the state's value before invoking the user's function
[SVN r73668]
2011-08-11 17:28:17 +00:00
d9c5b32687 new cleaner(?) implementation for segmented fusion
[SVN r73644]
2011-08-11 04:14:50 +00:00
01424b06b3 added version of fold (overload) accepting non-const State.
[SVN r71179]
2011-04-10 23:45:34 +00:00
a18ab9db86 lvalue fold states. Fixes #4582
[SVN r64947]
2010-08-22 13:16:49 +00:00
084b3028d8 fix for #4580
[SVN r64946]
2010-08-22 11:29:45 +00:00
38319d25cc fixed c/p error
[SVN r63440]
2010-06-29 19:55:22 +00:00
758178a2a8 added reverse_fold/iter_fold/reverse_iter_fold (2) (fixes #1623)
[SVN r63083]
2010-06-18 17:23:20 +00:00
ea89db72cb added reverse_fold/iter_fold/reverse_iter_fold (1)
[SVN r63066]
2010-06-17 21:21:37 +00:00
9b26b4a0f7 associative iterators & views
[SVN r57156]
2009-10-25 22:59:54 +00:00
35e469e2d5 fix for #2355: discrepancy between std::accumulate and fusion::accumulate
[SVN r57125]
2009-10-24 10:59:01 +00:00
ea0da68ccd missing copyright
[SVN r40257]
2007-10-21 05:51:31 +00:00
32f1c58ce7 branch for creating branch for fusion 2.1
[SVN r40237]
2007-10-21 00:52:09 +00:00
7a6e82b7cf Removed file/folder
[SVN r40234]
2007-10-21 00:47:59 +00:00
fc57a566cb creating branch for fusion 2.1
[SVN r40232]
2007-10-20 23:59:59 +00:00
13b01b0bfe Removed file/folder
[SVN r40230]
2007-10-20 23:49:46 +00:00
8f8cf8145f handling fusion fold and accumulate function argument by value rather than const ref to fix free function usage
[SVN r38064]
2007-06-22 18:05:55 +00:00
09a6da1f80 fusion fold and transform passing refs for lvalues as per result_of protocol
[SVN r38039]
2007-06-19 21:30:06 +00:00
6605340726 fixing some defects in fusion::fold loop unrolling
[SVN r37985]
2007-06-13 20:32:30 +00:00
0fcbc5b467 result_of and polymorphic function obj compatibility
[SVN r37962]
2007-06-11 07:01:05 +00:00
414b87dbdb fixing bug in internal use of fusion::result_of::distance
[SVN r37934]
2007-06-07 20:43:50 +00:00
b935ea84a9 loop unrolling for fusion iteration algorithms
[SVN r37806]
2007-05-28 23:12:53 +00:00