Kohei Takahashi
67f0863cdd
Fix includes.
2015-03-22 12:24:18 +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
Damien Buhl alias daminetreg
0954000314
After merge of #55 regenerated preprocessed headers as needed by #49 .
2015-03-06 14:51:52 +01: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
Joel de Guzman
e23d153734
Merge pull request #54 from boostorg/fusion_adapters
...
Type Deducing Fusion adapters into develop
2015-02-11 06:53:28 +08:00
Joel de Guzman
505d41ea67
Merge pull request #49 from Flast/bugfix/msvc
...
Fix two major MSVC issues.
2015-02-09 06:53:57 +08: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
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
Kohei Takahashi
995202044c
Basic move support for c++03 map
2015-01-21 23:11:57 +09: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
Kohei Takahashi
326104a9b7
Fix unexpected overload resolution on MSVC.
2015-01-18 14:15:20 +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
f872d1326a
The ctor should check which is seqence or not.
2015-01-11 01:15:52 +09:00
Kohei Takahashi
54dedc5e98
Update auxiliary.hpp
2015-01-08 19:20:56 +09: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
Kohei Takahashi
b7febc887a
Flat includes for std::tuple
2014-12-09 19:54:53 +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
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
Kohei Takahashi
4dd4773d3d
Fix wrong include
...
and add tests for move.
2014-11-19 17:38:16 +09: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
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