Kohei Takahashi
0d8243b36d
Merge pull request #142 from Flast/std_array
...
Adaptor for std::array.
2016-10-31 01:40:57 +09:00
Kohei Takahashi
ea9a176312
Include <array> instead of declare std::array.
...
Some implementations declare it as std::tr1::array and conflict.
2016-10-31 01:13:36 +09:00
Kohei Takahashi
5135b5109b
Likewise.
2016-10-29 20:57:06 +09:00
Kohei Takahashi
490baac6e2
Added workaround for older gcc.
2016-10-29 15:34:49 +09:00
Kohei Takahashi
6bd644d43d
Don't use iterator for copy/move assign op.
2016-10-29 14:40:47 +09:00
Kohei Takahashi
e74ccb1cf5
DEFINE_STRUCT now allows move construct/assign.
2016-10-19 01:33:43 +09:00
Kohei Takahashi
a2b8a8f254
Don't define user-provided special functions.
...
To allow to define empty struct.
2016-10-13 00:18:14 +09:00
Kohei Takahashi
61fab16418
Merge branch 'mloskot/boost_fusion_std_array' into develop
2016-10-10 18:46:29 +09:00
Kohei Takahashi
928ced256a
Adjust directory structure.
2016-10-09 22:14:42 +09:00
Kohei Takahashi
4ebc028769
Optimize.
2016-02-16 19:32:57 +09:00
Kohei Takahashi
99ad77b92f
Fix typos.
2016-02-16 16:52:27 +09:00
Kohei Takahashi
9b43ac8ee0
More optimization.
2016-02-16 00:40:27 +09:00
Kohei Takahashi
c9c2c3bad6
Optimize macros.
2016-02-14 23:53:38 +09:00
Kohei Takahashi
d7d47619b4
Tweak PP includes.
2016-02-14 23:41:22 +09:00
Damien Buhl (alias daminetreg)
44c21e0f10
Fixes invalid use of hardcoded "obj." prefix for ADAPT_ASSOC_STRUCT_NAMED and btw. fixes test error since removal of BOOST_PP_IS_EMPTY.
2016-02-13 14:15:53 +09:00
Damien Buhl (alias daminetreg)
3125c15ff4
Fix BOOST_PP_EMPTY replacement with adapt_assoc_struct
2016-02-13 14:15:53 +09:00
Damien Buhl (alias daminetreg)
2e466ac054
Remove BOOST_PP_IS_EMPTY in favor of BOOST_MPL_PP_TOKEN_EQUAL and added auto as synonym for BOOST_FUSION_ADAPT_AUTO.
...
Fix ticket https://svn.boost.org/trac/boost/ticket/11157
BOOST_MPL_PP_TOKEN_EQUAL is now used to check if auto/BOOST_FUSION_ADAPT_AUTO
was provided as type, telling to deduce members types.
2016-02-13 14:15:53 +09:00
Kohei Takahashi
2b14951660
Split c++14 like index_sequence into support/detail.
2015-06-22 21:58:54 +09:00
Damien Buhl (alias daminetreg)
8b1da45bfe
Fix 11269 ( https://svn.boost.org/trac/boost/ticket/11269 ) and add test case for it.
2015-05-06 08:21:02 +02:00
Damien Buhl (alias daminetreg)
ce62bb49f3
fix constructors of DEFINE_STRUCT_INLINE to allow construction with non-constexpr compatible.
2015-04-26 22:19:44 +02:00
Damien Buhl (alias daminetreg)
bbdfc9972e
Remove BOOST_CONSTEXPR on BOOST_FUSION_DEFINE_STRUCT constructor as it however adds the requirement that the user provided types are constant enabled.
2015-04-21 08:59:24 +02: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
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
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
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
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
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
7a7b225fb1
Add boost_tuple_iterator_identity to compare iterator correctly.
...
And add test for boost_tuple_iterator.
2014-11-06 17:10:31 +09:00
Kohei Takahashi
f716d2f410
Merge various hotfixes into develop.
2014-11-01 22:00:45 +09:00
Damien Buhl (alias daminetreg)
2f850604e8
Merge remote-tracking branch 'official/develop' into fusion_adapters
2014-10-27 14:00:49 +01:00
Damien Buhl (alias daminetreg)
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
Damien Buhl (alias daminetreg)
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
Klemens Baum
c921b9ca99
Avoid unused parameter warning in BOOST_FUSION_DEFINE_STRUCT_INLINE
2014-10-20 11:48:42 +02:00
Damien Buhl (alias daminetreg)
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
Damien Buhl (alias daminetreg)
cd0d3ce09a
add comments for readability.
2014-10-12 14:51:34 +02:00
Damien Buhl (alias daminetreg)
644d72ccfe
adds type deduction support for BOOST_FUSION_ADAPT_ASSOC_ADT.
2014-10-12 14:51:04 +02:00
Damien Buhl (alias daminetreg)
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
Damien Buhl (alias daminetreg)
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
Damien Buhl (alias daminetreg)
f0bc2a2ac1
Fix dependents scopes and typedefs with typename keywords.
2014-08-26 23:32:26 +02:00
Damien Buhl (alias daminetreg)
7b089aa589
Add support for BOOST_FUSION_ADAPT_ADT to either deduce types or use specified ones.
2014-08-10 17:09:57 +02:00
Damien Buhl (alias daminetreg)
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