Commit Graph

482 Commits

Author SHA1 Message Date
fbbfc16d2d Workaround for MSVC8.0
I'm not sure why it doesn't compile...
2014-11-26 01:49:07 +09:00
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
687668c110 Fix sprious compile error on VS2015 Preview.
MSVC 2015 Preview will treat unary-ctor call as a variable declaration
even if member call follows, which member has the same name with any
other class (i.e. there are no relations between the member and such
class). This issue already reported at [1].

1. https://connect.microsoft.com/VisualStudio/feedback/details/1037783/unary-ctor-call-v-s-variable-decl

    struct foo
    {
        foo(int) {}
        void set() {}
    };

    struct set;

    int main()
    {
        int i;
        foo(i).set(); // VS2015 try to decl `i` here and conflict with above.
    }
2014-11-24 03:07:16 +09:00
4dd4773d3d Fix wrong include
and add tests for move.
2014-11-19 17:38:16 +09:00
9075da0790 Mitigate too noisy name-hiding warnings (C4453) on VS2015 Preview.
NOTE: This commit doesn't contain new preprocessed file to review easier.
2014-11-19 13:20:36 +09:00
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
c952a5c053 Const correctness fix for result_of::deref_data 2014-11-19 07:54:37 +08:00
c65000eac8 Merge pull request #41 from Flast/patch-2
`result_of::at<Seq, N>::type` is't defined when sizeof of sequence is less than N
2014-11-19 06:33:04 +08:00
d10f40c489 Merge pull request #40 from Flast/patch-1
result_of::size::value and result_of::size::type::value should be same type
2014-11-19 06:22:41 +08:00
c9ae4fc886 result_of::at<Seq, N>::type is't defined when sizeof of sequence is less than N, close #6507, #7651
Original proposals suggest making as a hard error (by MPL asssert /
static assert), however this change just doesn't define due to
SFINAE-friendly.
2014-11-19 02:05:58 +09:00
0f34b3a692 Fixed C++11 implementation of map's result_of::deref_data to return a
reference as expected.
2014-11-18 23:11:20 +08:00
68b4683e95 added missing include 2014-11-18 14:12:07 +08:00
63045e8611 remove unnecessary actor to tighten ADL resolution. the one above it is
sufficient.
2014-11-15 09:54:21 +08:00
f3fa7a1dc6 Fix for fusion pair to make the compiler select the proper copy
constructor and remove a viable, but wrong, constructor. test added.
2014-11-15 09:35:50 +08:00
cc9b043168 result_of::size::value and result_of::size::type::value should be same type, rels to: #7304. 2014-11-13 15:44:30 +09:00
0ed591d214 Fix compilation error with as_deque in C++11. 2014-11-12 14:59:28 -05:00
1dccb553ea Merge pull request #35 from Flast/develop
Minor fixes
2014-11-12 07:39:17 +08:00
a2e32493bb Merge pull request #37 from ldionne/develop
Use BOOST_CONSTEXPR instead of (nonexistant) BOOST_CXX14_CONSTEXPR. (reverted from commit 3280267ed4)
2014-11-12 07:35:19 +08:00
b7f95ee853 Use BOOST_CONSTEXPR instead of (nonexistant) BOOST_CXX14_CONSTEXPR. 2014-11-11 18:02:03 -05:00
d93e675408 Fix hard compilation error with nested fusion::cons. 2014-11-11 10:23:36 -05:00
465c3f273b result_of::{copy,move,swap} are now SFINAE-friendly 2014-11-10 14:38:42 +09:00
6314f1a450 fusion::swap should be inline 2014-11-10 14:34:02 +09:00
916df63a14 Add result_of::{copy,move}, close #5886
Thanks to: Jamboree
2014-11-10 14:32:23 +09:00
ff56beaf55 Remove use of boost::blank, close #8622 2014-11-09 00:49:29 +09:00
bd5ce92e10 Replace type_traits::ice_and with well documented mpl::and_. 2014-11-08 02:32:06 +09:00
7a7b225fb1 Add boost_tuple_iterator_identity to compare iterator correctly.
And add test for boost_tuple_iterator.
2014-11-06 17:10:31 +09:00
5f416e24fc Use category_of to get correct iterator category. 2014-11-06 17:10:31 +09:00
a7e9bb2df4 Fix to meet constexpr requirements 2014-11-06 17:10:31 +09:00
20ee8d192a Fix missing includes, close ticket #8457.
e.g. Now can compile following simple case.

    #include <boost/fusion/iterator/iterator_facade.hpp>
    #include <boost/fusion/iterator/iterator_adapter.hpp>

    struct null_iterator
        : iterator_facade<null_iterator, forward_traversal_tag> {};

    struct null_adapter
        : iterator_adapter<null_adapter, null_iterator> {};
2014-11-06 17:10:25 +09:00
4835310623 Remove unnecessary header, see 5adcb5b 2014-11-03 06:25:08 +09:00
0a13aa5ee4 Change the result_of behaviour with BOOST_RESULT_OF_USE_DECLTYPE
to make consistency between boost::result_of.
2014-11-02 15:08:56 +09:00
f716d2f410 Merge various hotfixes into develop. 2014-11-01 22:00:45 +09:00
1b4acaa1b0 Fix unexpected lookup failure with GCC < 4.5. 2014-11-01 21:16:26 +09:00
4c110d9a88 Regen preprocessed headers. 2014-11-01 20:50:11 +09:00
3b3da1a10a Use boost::declval instead of std::declval, close #10190.
Thanks-to: Niklas Angare
2014-10-31 10:09:30 +09:00
c10b94472d Fix compile error on MSVC-10 and 11 due to no variadic templates.
see http://thread.gmane.org/gmane.comp.lib.boost.devel/255086

Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-30 19:44:48 +09:00
8dc502d33a Remove dup of internal macro
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-28 14:25:04 +09:00
90206f5da9 Fix result type mismatch
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-28 11:45:47 +09:00
ae23ffb8b6 Fix include guard mismatch
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-28 11:45:47 +09:00
d5eb1e793c Merge pull request #26 from ldionne/master
Improve support for constexpr in fusion::nil and its iterators.
2014-10-28 08:12:04 +08:00
cdfb1a46b3 Improve support for constexpr in fusion::nil and its iterators. 2014-10-27 10:09:26 -04: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
e014a1d173 Fix #10443 completely.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-22 19:42:48 +09:00
812e9e379e Fix wrong partial specializations.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-22 01:02:39 +09:00
ba723a2cad Merge pull request #23 from Flast/bugfix/cxx14-constexpr
Improve constexpr supports
2014-10-21 22:55:54 +08:00
c921b9ca99 Avoid unused parameter warning in BOOST_FUSION_DEFINE_STRUCT_INLINE 2014-10-20 11:48:42 +02:00
6cad6bef99 fixes ticket #10443. invoke is now sfinae friendly. 2014-10-20 06:23:52 +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
bebd553dd6 Use BOOST_CXX14_CONSTEXPR instead of BOOST_CONSTEXPR.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-19 23:46:36 +09: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