Commit Graph

693 Commits

Author SHA1 Message Date
451e21adb3 Update workarounds for msvc 14.1 2017-04-30 23:26:24 +09:00
f1a619428a Remove unintended file. 2016-11-20 16:41:23 +09:00
c630611626 Fix returing temporary variable warning on MSVC. 2016-11-01 01:54:10 +09:00
0d8243b36d Merge pull request #142 from Flast/std_array
Adaptor for std::array.
2016-10-31 01:40:57 +09:00
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
c158886591 Workaround for MSVC 12 variadics bug. 2016-10-29 21:29:26 +09:00
5135b5109b Likewise. 2016-10-29 20:57:06 +09:00
490baac6e2 Added workaround for older gcc. 2016-10-29 15:34:49 +09:00
6bd644d43d Don't use iterator for copy/move assign op. 2016-10-29 14:40:47 +09:00
e74ccb1cf5 DEFINE_STRUCT now allows move construct/assign. 2016-10-19 01:33:43 +09:00
7b13053c7e Merge pull request #135 from vtnerd/bugfix/vector_conversion_constructor
Make C++11 fusion::vector more consistent with C++03 fusion::vector
2016-10-14 13:51:52 +09:00
a2b8a8f254 Don't define user-provided special functions.
To allow to define empty struct.
2016-10-13 00:18:14 +09:00
61fab16418 Merge branch 'mloskot/boost_fusion_std_array' into develop 2016-10-10 18:46:29 +09:00
928ced256a Adjust directory structure. 2016-10-09 22:14:42 +09:00
d5740f8310 Fixed extra semicolon 2016-09-01 17:57:15 +03:00
5906d9c316 Make C++11 fusion::vector more consistent with C++03 fusion::vector
- Construct from elements is enabled iff each argument is_convertible to
    corresponding element.
  - Construct from sequence is enabled iff the single argument is a fusion
    sequence.
  - C++11 vector and tuple also disable construct from sequence that are
    shorter than the destination. C++03 gives incorrect is_convertible
    responses in this situation and fails to compile if that constructor is
    used; C++11 can have instantation errors in
    and_<is_convertible<U, T>...> without the additional check.
  - C++11 tuple and vector support truncation conversion and assignment like
    all other sequences.
2016-08-26 12:45:11 -04:00
55150a7fa6 Add DISABLE_VARIADIC_VECTOR and SFINAE for c++11 tuple element construction 2016-07-26 14:53:26 -04:00
79d8e9d11c Added to nested tests, and fixed C++11 vector copy-from-sequence 2016-05-31 16:52:57 -04:00
3189580857 Added workaround for GCC 3.4 due to ambiguous.
NOTE: GCC 3.3 and earlier are not supported officially by Boost community.
2016-03-16 20:25:59 +09:00
12b25c2c99 Correct workaround condition. 2016-03-09 10:19:22 +09:00
275236f86e Workaround for ICE on GCC 4.0 and 4.1. 2016-03-08 15:36:21 +09:00
a8b70d6679 Workaround for ICE on GCC 4.0.0. 2016-03-08 14:43:32 +09:00
104f508cef Remove outdated comment. 2016-03-07 19:42:23 +09:00
f7b90f2981 Merge pull request #124 from Flast/feature/ticket-11157-remove-BOOST_PP_IS_EMPTY
Remove use of BOOST_PP_IS_EMPTY.
2016-02-17 04:45:16 +08:00
5ed26ec932 Drop Byte-order-Marker. 2016-02-16 23:55:59 +09:00
4ebc028769 Optimize. 2016-02-16 19:32:57 +09:00
99ad77b92f Fix typos. 2016-02-16 16:52:27 +09:00
9b43ac8ee0 More optimization. 2016-02-16 00:40:27 +09:00
c9c2c3bad6 Optimize macros. 2016-02-14 23:53:38 +09:00
d7d47619b4 Tweak PP includes. 2016-02-14 23:41:22 +09:00
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
3125c15ff4 Fix BOOST_PP_EMPTY replacement with adapt_assoc_struct 2016-02-13 14:15:53 +09:00
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
b88daeb697 Detect std::integer_sequence availability.
It will allow to reuse compiler cache easier.
2016-02-13 11:57:41 +09:00
b46aad996a Remove trailing void_ support on variadic vector. 2016-02-11 23:56:07 +09:00
64b8406c16 Introduce detail::enabler instead of fusion::void_. 2015-12-10 17:06:04 +09:00
2492ff9b25 regen 2015-12-01 01:26:08 +09:00
3919f3ed73 Fix missing header. 2015-12-01 01:16:01 +09:00
12792a6c11 Fix compile error with ambiguous ctor, close #11766.
When a) first elem is sequence b) second (and third) elem is(are) void*,
both of conversion ctor and forwarding ctor are candidate since SFINAE
expression has void* type.
2015-12-01 01:14:52 +09:00
8767d374ea manip.hpp: Do not use "using namespace std;"
Changed "using namespace std;  ws()" into "std::ws()" to avoid ambiguities with a possible "::ws" namespace.
2015-11-23 17:21:59 +01:00
87fffbead3 Fix conditional of workaround. 2015-11-14 23:32:46 +09:00
1c05cfc795 Regenerate fusion::fold family. 2015-11-14 20:34:41 +09:00
7cf404d096 SFINAE expression obstructs compile on MSVC 8. 2015-11-13 21:49:27 +09:00
0c18e85ecd Partly fixed fusion::fold regression for MSVC <=8.
It implicitly includes MSVC 9's workaround.
2015-11-13 20:03:12 +09:00
3298875ecc Add double identity trick for fast value_at (vectors)
This is a workaround to make decltype(expr)::type compiles
with old compilers.
2015-11-10 14:04:16 +01:00
74c0d5d0ec Fix fusion::at<vector<...>, N> for C array types 2015-11-10 10:55:13 +01:00
4d3891ed31 Remove invalid odr-usages of boost::declval. 2015-11-07 16:11:06 -05:00
981f71d04f Use boost::enable_if_has_type instead. 2015-11-01 11:10:11 +09:00
4d5da0371b Suppress undefined inline function warning. 2015-10-27 07:59:55 +09:00
73045b4d49 Fix compile error on by-elem ctor.
Single element vector of fusion sequence cannot construct from its
element type.
2015-10-23 08:29:05 +09:00