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
2f850604e8
Merge remote-tracking branch 'official/develop' into fusion_adapters
2014-10-27 14:00:49 +01: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
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
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
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
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
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
73f058b381
Fix include guard mismatch.
...
Signed-off-by: Kohei Takahashi <flast@flast.jp >
2014-10-17 18:53:45 +09:00
1b2e62f4b9
Fix include guard mismatch.
...
Signed-off-by: Kohei Takahashi <flast@flast.jp >
2014-10-17 18:53:03 +09: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
cd0d3ce09a
add comments for readability.
2014-10-12 14:51:34 +02:00
644d72ccfe
adds type deduction support for BOOST_FUSION_ADAPT_ASSOC_ADT.
2014-10-12 14:51:04 +02:00
561b762f57
avoid unused argument warning in map_impl
2014-10-09 14:17:17 +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
52d280983b
Fix some includes for consistency and use correct accessors macros.
...
Since we have accessors macros for wrapped attributes we better use them,
to improve readability of the macros.
2014-08-10 15:27:55 +02:00
fe3682ac02
add type deduction support to BOOST_FUSION_ADAPT_ADT_C_BASE.
2014-08-10 15:15:31 +02:00
c8e4172021
Fix indentation.
2014-08-10 15:11:34 +02: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
0715e996e2
Fix the DEFINE_ASSOC_STRUCT macros to use specific FILLER macros, because they cannot need type deduction.
2014-07-29 22:24:23 +02:00
047b052548
Add missing include.
2014-07-29 22:22:54 +02:00
4b0bed40f7
Renamed macro wrapping attribute to a more descriptive name.
2014-07-27 16:07:47 +02:00
70410d1e07
replaced tabs with 4 spaces
2014-07-24 14:45:45 +02:00
f7685b1194
add automatic hash function creation
2014-07-24 14:22:55 +02:00
5422ba7f8f
Adds the possibility to omit the member type in ADAPT_ASSOC* macros usage.
...
This feature is enabled when BOOST_PP_VARIADICS also is, as it rely on it.
A placeholder for the type can be used when BOOST_PP_VARIADICS isn't
active.
2014-07-23 02:42:30 +02:00
17e49ba448
Adds accessors for the wrapped attributes and provide preliminary support for type deduction to ADAPT_ASSOC* macros.
2014-07-23 00:36:07 +02:00
34fac0c449
Fix ADAPT_*_C / ADAPT_*_C_BASE macros responsible.
...
These macros are used to handle generation of boilerplate code or each
member to add to the adapted sequence. And in the commit
abff92ab65
we changed the signature of these
macros to handle generation of proxied object field type deduction, this
change simply fix the related macros.
2014-06-25 00:45:38 +02:00
abff92ab65
Add support for members types deduction to the ADAPT_STRUCT_NAMED macro.
2014-06-25 00:11:40 +02:00
c008b0dc3a
Fixes the BOOST_FUSION_DEFINE_STRUCT* macros with an appropriate attributes FILLER macro.
...
As the BOOST_FUSION_ADAPT_STRUCT_FILLER* macros were changed to handle type
deduction, this breaks the usage that BOOST_FUSION_DEFINE_STRUCT makes from
them.
That is BOOST_FUSION_DEFINE_STRUCT_IMPL expects a simple tuple, while we
now provide a tuple containing the size of a nested tuple which either has
or not the type provided. But in the case of the DEFINE* macros it would be
a non-sense to support this kind of API as a field being defined cannot be
deduced. :)
2014-06-17 22:35:10 +02:00
ae0c976926
Fixes missing inclusion of BOOST_PP_LESS.
...
This was bringing the std::pair adapt test to fail, because it wasn't
including BOOST_PP_LESS like the other tests.
2014-06-14 12:11:44 +02:00
af812e6207
Fixed ADAPT_STRUCT_FILLER macro call for consistency.
2014-06-14 12:09:04 +02:00
9a501785e6
Removed the old auto_* headers.
2014-06-13 23:09:39 +02:00
04ce8a788b
Enabled new ADAPT_STRUCT_API for ADAPT_TPL_STRUCT.
2014-06-13 23:09:38 +02:00