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
ce3f2d6020
Added new ADAPT_STRUCT API support for the ADAPT_STRUCT_AS_VIEW macro.
2014-06-13 23:09:38 +02:00
687b2cf097
Factoring out of adapt_struct.hpp all the FILLER_* macros details.
...
As of BOOST_FUSION_ADAPT_STRUCT without type deduction, there were only
simple attributes filler. Now this need more complex logic to handle both
API: the backward compatible one with type specificiation, the one without
type specification and the non-variadic one which enables omitting the type
specification by providing BOOST_FUSION_ADAPT_AUTO instead of the type.
That's why I extracted the FILLER_* macros details in a separate source
file.
2014-06-13 23:09:38 +02:00
c851252f65
Renaming macros for ADAPT_STRUCT to deduce type or take provided attribute types.
2014-06-13 23:09:38 +02:00
557b3d2dc6
Fix detection of member_type parameter emptiness for BOOST_FUSION_ADAPT_STRUCT.
...
As BOOST_PP_IS_EMPTY is not a general purpose emptiness checker, we limit
the ways it can be used.
2014-06-13 23:09:38 +02:00
7ef202b794
Moved BOOST_FUSION_ADAPT_STRUCT implementation details to detail/adapt_base.hpp
2014-06-13 23:09:38 +02:00
02b776360a
FEATURE: BOOST_FUSION_ADAPT_STRUCT can now also be called completely with
...
variadics arguments.
The following signature is possible :
BOOST_FUSION_ADAPT_STRUCT(
struct_name,
member_name0,
(BOOST_FUSION_ADAPT_AUTO, member_name1)
(member_type2, member_name2)
member_name3,
...
)
2014-06-13 23:09:38 +02:00
37fc1443ad
Improve the BOOST_FUSION_ADAPT_STRUCT macro to work also when there is no variadic support.
...
This enable the following flexible macro signature when there is
no BOOST_PP_VARIADICS support:
BOOST_FUSION_ADAPT_STRUCT(
struct_name,
(member_type0, member_name0)
(BOOST_FUSION_ADAPT_AUTO, member_name1)
(,member_name2)
...
)
If BOOST_PP_VARIADICS is active then there is quite more flexibility as it
allows to avoid the type specification:
BOOST_FUSION_ADAPT_STRUCT(
struct_name,
(member_type0, member_name0)
(BOOST_FUSION_ADAPT_AUTO, member_name1)
(,member_name2)
(member_name3)
...
)
2014-06-13 23:09:29 +02:00
944c363787
Remove dependency to variadics macros for the old API not deducing types.
2014-06-13 23:07:49 +02:00
6f6bfb3a27
EDITORIAL: Cleaning the ADAPT_STRUCT which can deduce types.
2014-06-13 23:07:32 +02:00
04cbf0d4c6
BUGFIX: Presents the correct field name as a string even if type is deduced.
2014-06-13 23:07:32 +02:00
703bff4ff9
FEATURE: Types of a struct can freely pe provided or deduced, following the user preferences.
2014-06-13 23:07:32 +02:00
7e1c6cdf47
FEATURE: Type deduction for BOOST_FUSION_ADAPT_STRUCT_C_BASE, with preliminary support for providing or deducing the type.
2014-06-13 23:07:16 +02:00
3ca94f5762
DOC: Add some comments to help me understand the adapt macros.
2014-06-13 23:04:09 +02:00
c052b4b452
FEATURE: Making BOOST_FUSION_AUTO_ADAPT_STRUCT variadic.
2014-06-13 23:04:09 +02:00
435fb5c29f
EDITORIAL: Reorganize imports.
2014-06-13 23:04:09 +02:00
934463c7b4
FEATURE: BOOST_FUSION_AUTO_ADAPT_ASSOC_STRUCT_NAMED now allows defining a Random Access Sequence and an Associative sequence without providing the type.
2014-06-13 23:04:08 +02:00
a5f87696f2
EDITORIAL: Rename the macro for type deduction to a more expressive and correct name.
2014-06-13 23:04:08 +02:00
2d37b9c22c
EDITORIAL: Fixes typos.
2014-06-13 23:04:08 +02:00
f7b14aee35
FEATURE: BOOST_FUSION_AUTO_ADAPT_ASSOC_STRUCT now allows defining a Random Access Sequence and an Associative sequence without providing the type.
2014-06-13 23:04:08 +02:00
8a132ea44a
BUGFIX: Fix include path.
2014-06-13 23:04:08 +02:00
5ffab5001e
REFACTORING: reused the BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED_NS macro in BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED to mimic the non-AUTO versions.
2014-06-13 23:04:08 +02:00
e58bd91f27
EDITORIAL: fixed indentation.
2014-06-13 23:04:08 +02:00
5aa9a89fb8
FEATURE: BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED_NS which allows listing class attributes to adapt without specifying types.
2014-06-13 23:04:07 +02:00
0d7ad9f6e2
FEATURE: BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED that does not require specifying the types of the fields.
2014-06-13 23:04:07 +02:00
946957d3dc
EDITORIAL: Change parameter names for consistency.
2014-06-13 23:04:07 +02:00
3f965e00d3
#9516 BOOST_FUSION_AUTO_ADAPT_STRUCT that does not require specifying the types of the fields.
2014-06-13 23:04:07 +02:00
e113b31fdd
final gpu-enabling tweaks
2014-01-28 14:32:03 -08:00
c4f9f0d1b6
gpu-enable functions
2014-01-22 23:55:53 -08:00
80b4ce43c5
Fixes #8418
...
[SVN r84000]
2013-04-21 13:54:59 +00:00
f9d6e05676
Applied patches for Tickets #7738 , #7737 and #7646
...
[SVN r82348]
2013-01-04 01:43:06 +00:00
cfbbba272e
Fixes for Ticket #7569 ( Compile Error using BOOST_FUSION_DEFINE_STRUCT_INLINE with VC10 and GCC <4.5 )
...
[SVN r81165]
2012-11-04 00:18:41 +00:00
b57cd4ede9
- patch from nathan ridge
...
- fixed deque regression
[SVN r80458]
2012-09-09 00:27:37 +00:00
106702d388
Fix to silence MSVC warnings (Nathan Ridge)
...
[SVN r80368]
2012-09-03 07:08:47 +00:00
038976991e
Fixed MSVC errors (from Nathan Ridge)
...
[SVN r80326]
2012-08-31 04:12:29 +00:00
eaf9e79e85
latest patch from Nathan Ridge
...
[SVN r79306]
2012-07-05 23:40:17 +00:00
ed3776ce8c
BOOST_FUSION_DEFINE_STRUCT_INLINE patch by Nathan Ridge
...
[SVN r78508]
2012-05-19 01:24:16 +00: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
524769f6fb
patch for clang from Michel Morin
...
[SVN r78176]
2012-04-24 01:40:17 +00:00
01f002f084
tweaked cref_result and ref_result to be non-lazy (for consistency).
...
[SVN r78058]
2012-04-18 02:57:56 +00:00
e08976a68d
fix for case where Sequence is const
...
[SVN r74589]
2011-09-27 11:45:24 +00:00
b2c3737eaf
Added adapter for std::tuple (only for implementations using variadic templates)
...
[SVN r74546]
2011-09-24 13:07:09 +00:00
0e7a013851
Bumped copyright date
...
[SVN r74407]
2011-09-16 05:30:23 +00:00
faa5746f6d
added main empty_impl template forward decl
...
[SVN r73689]
2011-08-12 05:18:44 +00:00