Commit Graph

28 Commits

Author SHA1 Message Date
f45c94fa43 Merge remote-tracking branch 'origin/develop' into feature/constexpr 2015-03-04 02:20:52 +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
c6c9d872d3 Factored out the IS_TPL macro. 2015-02-01 17:20:31 +01:00
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
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
382c1e5645 BUGFIX: Expands typename for attribute_type only in case it is really a dependent scope. 2015-01-25 21:48:49 +01:00
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
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
bc07cac46c Fix use of non-static "obj" in unevaluated expression context of decltype. 2014-11-18 23:39:53 +01:00
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
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
e50f5852e4 Changes the test cases, as the behaviour about const-qualifier for
attribute_type and attribute_const_type when type is deduced can be
different than when the type is provided.

Indeed when specifying attribute_type and attribute_const_type manually
it's possible to provide a type which isn't const qualified as
attribute_const_type. When deducing the types from the get_expr, a const
and a non const qualified type is taken respectively for attribute_type
and attribute_const_type.
2014-10-22 22:06:31 +02:00
03ba146d84 lvalue typedef for acess::struct_member is a dependent scope to templated
parameter when used within BOOST_FUSION_ADAPT_ASSOC_TPL_ADT.

This fixes test sequence/adapt_assoc_tpl_adt.cpp.
2014-10-20 12:54:31 +02:00
2b5da49628 lvalue access::struct_member was wrongly set to be adt_attribute_proxy<> instead of adt_attribute_proxy<>::type. Shame on me. 2014-10-12 16:25:59 +02:00
644d72ccfe adds type deduction support for BOOST_FUSION_ADAPT_ASSOC_ADT. 2014-10-12 14:51:04 +02:00
aa7b0a6972 Factoring out the workaround to access last variadic parameter.
Indeed when some parameter are BOOST_PP_EMPTY the last parameter is
accessed correctly but results in a compilation error which doesn't stop
some compiler (e.g. g++) to go through the preprocessing pass and still
compile the binary correctly. But to avoid the error message I used a
workaround which behaves better. I preferred factoring it out to make
clear that there are some reason why this element is strangely accessed.
2014-09-23 23:07:00 +02:00
69e67cd1ad BUGFIX: When VARIADICS are active supporting any of the input combination.
That is : BOOST_FUSION_ADAPT_AUTO, omitting type or specifying type.
2014-09-17 00:47:52 +02:00
f0bc2a2ac1 Fix dependents scopes and typedefs with typename keywords. 2014-08-26 23:32:26 +02:00
7b089aa589 Add support for BOOST_FUSION_ADAPT_ADT to either deduce types or use specified ones. 2014-08-10 17:09:57 +02:00
fe3682ac02 add type deduction support to BOOST_FUSION_ADAPT_ADT_C_BASE. 2014-08-10 15:15:31 +02:00
c4f9f0d1b6 gpu-enable functions 2014-01-22 23:55:53 -08:00
8ce40ebd0c Patch by Nathan Ridge to allow BOOST_FUSION_ADAPT_ADT adapted classes to be compared using relational operators.
[SVN r78490]
2012-05-17 01:10:20 +00:00
088b8a0201 Fusion: ADAPT_xxxADTxxx; documentation&new testcase
[SVN r65816]
2010-10-07 20:38:54 +00:00
569e23c71c Fusion: BOOST_FUSION_ADAPT_ADT documentation (2)
[SVN r65757]
2010-10-04 21:16:42 +00:00
b761e0e0c0 Fusion: BOOST_FUSION_ADAPT_ADT documentation
[SVN r65756]
2010-10-04 20:50:31 +00:00
21d676dd87 Fusion: added adt_attribute_proxy-getter
[SVN r65728]
2010-10-02 18:39:23 +00:00
f723f870c7 Fusion/Spirit: adt_attribute_proxy refactorization
[SVN r65445]
2010-09-17 20:38:23 +00:00
5adcb5b4d2 Fusion: BOOST_FUSION_ADAPT_xxxCLASSxxx -> BOOST_FUSION_ADAPT_xxxADTxxx
[SVN r65439]
2010-09-16 16:33:25 +00:00