Commit Graph
85 Commits
Author SHA1 Message Date
Damien Buhl (alias daminetreg) 9a501785e6 Removed the old auto_* headers. 2014-06-13 23:09:39 +02:00
Damien Buhl (alias daminetreg) 04ce8a788b Enabled new ADAPT_STRUCT_API for ADAPT_TPL_STRUCT. 2014-06-13 23:09:38 +02:00
Damien Buhl (alias daminetreg) ce3f2d6020 Added new ADAPT_STRUCT API support for the ADAPT_STRUCT_AS_VIEW macro. 2014-06-13 23:09:38 +02:00
Damien Buhl (alias daminetreg) 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
Damien Buhl (alias daminetreg) c851252f65 Renaming macros for ADAPT_STRUCT to deduce type or take provided attribute types. 2014-06-13 23:09:38 +02:00
Damien Buhl (alias daminetreg) 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
Damien Buhl (alias daminetreg) 7ef202b794 Moved BOOST_FUSION_ADAPT_STRUCT implementation details to detail/adapt_base.hpp 2014-06-13 23:09:38 +02:00
Damien Buhl (alias daminetreg) 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
Damien Buhl (alias daminetreg) 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
Damien Buhl (alias daminetreg) 944c363787 Remove dependency to variadics macros for the old API not deducing types. 2014-06-13 23:07:49 +02:00
Damien Buhl (alias daminetreg) 6f6bfb3a27 EDITORIAL: Cleaning the ADAPT_STRUCT which can deduce types. 2014-06-13 23:07:32 +02:00
Damien Buhl (alias daminetreg) 04cbf0d4c6 BUGFIX: Presents the correct field name as a string even if type is deduced. 2014-06-13 23:07:32 +02:00
Damien Buhl (alias daminetreg) 703bff4ff9 FEATURE: Types of a struct can freely pe provided or deduced, following the user preferences. 2014-06-13 23:07:32 +02:00
Damien Buhl (alias daminetreg) 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
Damien Buhl (alias daminetreg) 3ca94f5762 DOC: Add some comments to help me understand the adapt macros. 2014-06-13 23:04:09 +02:00
Damien Buhl (alias daminetreg) c052b4b452 FEATURE: Making BOOST_FUSION_AUTO_ADAPT_STRUCT variadic. 2014-06-13 23:04:09 +02:00
Damien Buhl (alias daminetreg) 435fb5c29f EDITORIAL: Reorganize imports. 2014-06-13 23:04:09 +02:00
Damien Buhl (alias daminetreg) 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
Damien Buhl (alias daminetreg) a5f87696f2 EDITORIAL: Rename the macro for type deduction to a more expressive and correct name. 2014-06-13 23:04:08 +02:00
Damien Buhl (alias daminetreg) 2d37b9c22c EDITORIAL: Fixes typos. 2014-06-13 23:04:08 +02:00
Damien Buhl (alias daminetreg) 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
Damien Buhl (alias daminetreg) 8a132ea44a BUGFIX: Fix include path. 2014-06-13 23:04:08 +02:00
Damien Buhl (alias daminetreg) 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
Damien Buhl (alias daminetreg) e58bd91f27 EDITORIAL: fixed indentation. 2014-06-13 23:04:08 +02:00
Damien Buhl (alias daminetreg) 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
Damien Buhl (alias daminetreg) 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
Damien Buhl (alias daminetreg) 946957d3dc EDITORIAL: Change parameter names for consistency. 2014-06-13 23:04:07 +02:00
Damien Buhl (alias daminetreg) 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
Eric Niebler e113b31fdd final gpu-enabling tweaks 2014-01-28 14:32:03 -08:00
Eric Niebler c4f9f0d1b6 gpu-enable functions 2014-01-22 23:55:53 -08:00
Joel de Guzman 80b4ce43c5 Fixes #8418
[SVN r84000]
2013-04-21 13:54:59 +00:00
Joel de Guzman f9d6e05676 Applied patches for Tickets #7738, #7737 and #7646
[SVN r82348]
2013-01-04 01:43:06 +00:00
Joel de Guzman 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
Joel de Guzman b57cd4ede9 - patch from nathan ridge
- fixed deque regression 

[SVN r80458]
2012-09-09 00:27:37 +00:00
Joel de Guzman 106702d388 Fix to silence MSVC warnings (Nathan Ridge)
[SVN r80368]
2012-09-03 07:08:47 +00:00
Joel de Guzman 038976991e Fixed MSVC errors (from Nathan Ridge)
[SVN r80326]
2012-08-31 04:12:29 +00:00
Joel de Guzman eaf9e79e85 latest patch from Nathan Ridge
[SVN r79306]
2012-07-05 23:40:17 +00:00
Joel de Guzman ed3776ce8c BOOST_FUSION_DEFINE_STRUCT_INLINE patch by Nathan Ridge
[SVN r78508]
2012-05-19 01:24:16 +00:00
Joel de Guzman 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
Joel de Guzman 524769f6fb patch for clang from Michel Morin
[SVN r78176]
2012-04-24 01:40:17 +00:00
Joel de Guzman 01f002f084 tweaked cref_result and ref_result to be non-lazy (for consistency).
[SVN r78058]
2012-04-18 02:57:56 +00:00
Joel de Guzman e08976a68d fix for case where Sequence is const
[SVN r74589]
2011-09-27 11:45:24 +00:00
Joel de Guzman b2c3737eaf Added adapter for std::tuple (only for implementations using variadic templates)
[SVN r74546]
2011-09-24 13:07:09 +00:00
Joel de Guzman 0e7a013851 Bumped copyright date
[SVN r74407]
2011-09-16 05:30:23 +00:00
Joel de Guzman faa5746f6d added main empty_impl template forward decl
[SVN r73689]
2011-08-12 05:18:44 +00:00
Joel de Guzman 5497ea367e QOI + small bug fixes
[SVN r73658]
2011-08-11 15:34:39 +00:00
Joel de Guzman 756af8cc4c Include <utility> instead of forward declaring std::pair
[SVN r70731]
2011-03-30 00:23:23 +00:00
Christopher Schmidt beec2bff62 Fusion: adapt-macros: allow empty boost.pp sequences; refs #5093
[SVN r68303]
2011-01-19 17:46:05 +00:00
Christopher Schmidt 088b8a0201 Fusion: ADAPT_xxxADTxxx; documentation&new testcase
[SVN r65816]
2010-10-07 20:38:54 +00:00
Christopher Schmidt 569e23c71c Fusion: BOOST_FUSION_ADAPT_ADT documentation (2)
[SVN r65757]
2010-10-04 21:16:42 +00:00