Commit Graph

100 Commits

Author SHA1 Message Date
e79a8690f0 Merge branch 'develop' 2022-09-26 08:11:49 +08:00
4a699a39f5 Merge pull request #222 from k15tfu/fix-issue-221
Fix definition-of-implicit-copy-constructor-is-deprecated warnings
2020-10-06 09:20:17 +08:00
9dca58bd33 Fix definition-of-implicit-copy-constructor-is-deprecated warnings
Fixes #221
2020-04-20 19:02:10 +03:00
08076be2ac Explicitly delete all non implemented assignment operators.
Commit (almost) automatically generated with the following sed command:
sed -i -ne '1h;1!H;${g;s|\n[[:blank:]]*private:\n\([[:blank:]]*\)// silence MSVC warning C4512: assignment operator could not be generated\n\([[:blank:]]*\)\([^\n]\+\);\n|\n\1// silence MSVC warning C4512: assignment operator could not be generated\n\2BOOST_DELETED_FUNCTION(\3)\n|g;p}' $(git ls-files)
2019-05-08 17:11:37 +00:00
753db26073 Merge pull request #198 from Kojoley/vector-simplify-at_impl
vector: Simplify at_impl
2018-10-25 22:12:38 +09:00
2160949150 A slightly cleaner N3031 workaround 2018-10-12 00:34:20 +03:00
efe9065b8c vector: Simplify at_impl 2018-10-10 04:19:10 +03:00
a273cd8131 Added workaround for msvc-14.x 2018-04-19 00:21:41 +09:00
e962c1abb5 Fixed vector compile error with C-style array 2018-04-18 22:31:35 +09:00
38818fbe3d Add limits precheck 2018-02-20 22:44:34 +03:00
39fb05e40f vector: Fix for compilers not compatible with CWG defect 945
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#945
2017-12-23 18:17:04 +03:00
b12c6b6af6 Regenerate preprocessed files. 2017-11-23 22:59:02 +09:00
4eda545405 Fixed a regression with msvc 10/11/12 defect 2017-11-23 22:48:11 +09:00
0e0de6c4f1 Regenerate preprocessed files. 2017-10-15 07:10:25 +09:00
dfe08dec2c Fixed incorrect overload resolution.
Those functions should not be chosen for copying/moving.
2017-10-14 02:34:44 +09:00
e606ceeff0 Improve vector value_at performance. 2017-10-07 14:18:29 +09:00
24d1c7fd1a Reduce type deduction which is already known. 2017-10-04 01:43:45 +09:00
e5d073d786 Use compiler generated ctor. 2017-10-04 01:30:27 +09:00
6a9b7f314d Remove unnecessary base check.
fusion::tuple doesn't inherit from fusion::vector now.
2017-10-04 01:13:26 +09:00
451e21adb3 Update workarounds for msvc 14.1 2017-04-30 23:26:24 +09: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
104f508cef Remove outdated comment. 2016-03-07 19:42:23 +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
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
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
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
18742c6922 Merge pull request #105 from boostorg/variadics
Merge variadics into develop.
2015-10-22 15:40:04 +08:00
1ad2e59e07 Make fusion::at<vector<...>,N> O(1). 2015-10-20 20:12:14 +09:00
c750552a02 Tweak coding style. 2015-10-06 11:28:16 +09:00
e37fd170ce Preprocessing... 2015-07-28 01:02:41 +09:00
298eeef9c9 Remove evil numbered_vector_tag. 2015-06-30 01:28:01 +09:00
f9fda7ce06 Remove intermediate specialization. 2015-06-28 19:42:08 +09:00
969b475462 Implement variadic templates based fusion::vector.
Thanks to Lee Clagett.
2015-06-28 01:15:51 +09:00
d937003962 Prepare implementing c++11 variadic based fusion::vector. 2015-06-28 01:15:51 +09:00
ddcd3cdf93 Likewise. 2015-06-17 01:40:45 +09:00
78afb4d3fc Likewise. 2015-06-14 23:05:06 +09:00
e0f10734b1 Fix issue 11267.
Compiler yields compile error within a function witch used in unevaluate
context of constexpr function because of CWG 1581 [2].

1. https://llvm.org/bugs/show_bug.cgi?id=23135
2. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1581
2015-06-08 11:53:17 +09:00
83a08934c8 Prepare to merge 2015-04-19 11:56:21 +09:00
0954000314 After merge of #55 regenerated preprocessed headers as needed by #49. 2015-03-06 14:51:52 +01:00
f45c94fa43 Merge remote-tracking branch 'origin/develop' into feature/constexpr 2015-03-04 02:20:52 +09:00
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
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
f872d1326a The ctor should check which is seqence or not. 2015-01-11 01:15:52 +09:00