Commit Graph

970 Commits

Author SHA1 Message Date
Joel de Guzman
d9337979b1 Merge pull request #50 from daminetreg/fusion_adapters
fusion_adapters : auto adaptation working also in MSVC
2015-02-09 17:57:25 +08:00
Damien Buhl (alias daminetreg)
73a5dde412 Merge remote-tracking branch 'official/develop' into fusion_adapters
Conflicts:
	test/sequence/adapt_struct.cpp
2015-02-02 07:06:52 +01:00
Damien Buhl (alias daminetreg)
c6c9d872d3 Factored out the IS_TPL macro. 2015-02-01 17:20:31 +01:00
Damien Buhl alias daminetreg
fc1a60e8e6 Adding typename in front of BOOST_TYPEOF is only needed in MSVC when we check the type of a template. 2015-01-30 18:17:36 +01:00
Damien Buhl alias daminetreg
de43345b34 BUGFIX: Forwarding template parameters for MSVC to deduced_attr_type context thanks to BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS. 2015-01-25 23:05:42 +01:00
Damien Buhl (alias daminetreg)
382c1e5645 BUGFIX: Expands typename for attribute_type only in case it is really a dependent scope. 2015-01-25 21:48:49 +01:00
Damien Buhl (alias daminetreg)
588896de45 Revert "BUGFIX: MSVC doesn't accept typename to specify a dependent scope within"
This reverts commit 98247fb97f.
2015-01-25 16:14:45 +01:00
Damien Buhl alias daminetreg
70d5b40a7c BUGFIX: Expands typename for attribute_type only in case it is really a dependent scope. 2015-01-25 16:10:34 +01:00
Damien Buhl (alias daminetreg)
98247fb97f BUGFIX: MSVC doesn't accept typename to specify a dependent scope within
template specialization in C++03 as standard specify it.

This also works on GCC 4.6, 4.8.2 and 4.9 in C++11 and C++03, I needlessly
added this during some debugging where the compiler was telling me to do so.

I shouldn't have followed it's advice, as this breaks compatibility with
other compilers.
2015-01-21 00:28:13 +01:00
Joel de Guzman
af1bc25783 - disabling test for now (todo later)
- removing irrelevant tuple test
2015-01-05 17:43:35 +08:00
Joel de Guzman
7d641cbc8f - Update generated preprocessed files
- Disable variadics for MSVC 2013 (flaky compiler still)
2015-01-05 15:49:06 +08:00
Joel de Guzman
f349d48a3f Merge branch 'develop' of github.com:boostorg/fusion into develop 2015-01-05 15:04:34 +08:00
Joel de Guzman
97c863eaa0 (Re)Generating preprocessed files. 2015-01-05 15:03:54 +08:00
Joel de Guzman
5eb36f590a Merge pull request #47 from Flast/develop
Add tests and flat includes.
2014-12-18 10:38:41 +08:00
Kohei Takahashi
b7febc887a Flat includes for std::tuple 2014-12-09 19:54:53 +09:00
Joel de Guzman
45aa4ccf95 Merge pull request #46 from Flast/develop
Improve fusion::deque
2014-12-05 06:17:59 +08:00
Kohei Takahashi
24e95c34fb Add tests for #9914 2014-12-05 01:39:27 +09:00
Kohei Takahashi
223c7d520f Fix overload resolution failure.
Because the ctor `deque(U &&...)` is also performed as `deque(U const&...)`.
2014-12-05 01:39:27 +09:00
Kohei Takahashi
ed9880c161 Fix out of bounds access within {front|back}_extended_deque with empty deque.
The insertion point is not correct with empty deque since the range
{next_down, next_up} is not half-open range.
2014-12-05 01:39:27 +09:00
Kohei Takahashi
d05b854c58 Correct variadic based fusion::deque requirements 2014-12-02 08:37:58 +09:00
Kohei Takahashi
d185bd5df6 Use call_param for deducing type better. 2014-12-02 08:37:58 +09:00
Kohei Takahashi
aa4d67258b Fixed for non rv-ref supporting compiler. 2014-11-30 02:04:32 +09:00
Joel de Guzman
147c76573e Merge pull request #45 from Flast/workaround/for-msvc
Workarounds for MSVC
2014-11-26 07:13:44 +08: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
Kohei Takahashi
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
Joel de Guzman
2093bf82db Merge pull request #44 from Flast/develop
Fix wrong include
2014-11-19 21:15:46 +08:00
Kohei Takahashi
4dd4773d3d Fix wrong include
and add tests for move.
2014-11-19 17:38:16 +09:00
Joel de Guzman
08a6ea79b3 Merge pull request #43 from Flast/vs2015/name-hiding-warning
Mitigate too noisy name-hiding warnings (C4453) on VS2015 Preview.
2014-11-19 16:04:28 +08:00
Kohei Takahashi
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
Joel de Guzman
f68b7b1f5a Merge pull request #42 from daminetreg/fusion_adapters
ADAPT_STRUCT macros supporting type deduction fixes for Clang
2014-11-19 08:33:30 +08: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
c952a5c053 Const correctness fix for result_of::deref_data 2014-11-19 07:54:37 +08:00
Damien Buhl (alias daminetreg)
bc07cac46c Fix use of non-static "obj" in unevaluated expression context of decltype. 2014-11-18 23:39:53 +01:00
Damien Buhl (alias daminetreg)
b5018586aa Breaking change of BOOST_FUSION_ADAPT_ADT_NAMED and BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED API to be coherent with the expressions of BOOST_FUSION_ADAPT_ADT thanks to correct usage of BOOST_FUSION_PROXY_PREFIX. 2014-11-18 23:38:47 +01:00
Joel de Guzman
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
Joel de Guzman
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
Damien Buhl (alias daminetreg)
18fa262a4e BUGFIX: Use of non-static member in typedef to retrieve the type. clang doesn't allow this even in unevaluated context like decltype. 2014-11-18 22:50:07 +01:00
Kohei Takahashi
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
Joel de Guzman
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
Joel de Guzman
68b4683e95 added missing include 2014-11-18 14:12:07 +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
Joel de Guzman
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
Kohei Takahashi
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
Joel de Guzman
a4660f41af added failing test as per https://github.com/boostorg/fusion/pull/38 2014-11-13 09:03:37 +08:00
Joel de Guzman
6da646631c Merge pull request #38 from ldionne/develop
Fix compilation error with as_deque in C++11.
2014-11-13 07:12:55 +08:00
Louis Dionne
0ed591d214 Fix compilation error with as_deque in C++11. 2014-11-12 14:59:28 -05:00
Joel de Guzman
15dd9c9d97 test that adapted members can actually be expressions 2014-11-12 11:13:19 +08:00
Joel de Guzman
1dccb553ea Merge pull request #35 from Flast/develop
Minor fixes
2014-11-12 07:39:17 +08:00
Joel de Guzman
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