Kohei Takahashi
b4afa1c69b
It's not a trivially copyable unless all elems are
2018-05-08 00:38:10 +09:00
Kohei Takahashi
b978b47952
Merge upstream branch 'develop' into optimization/vector-and-tuple
2018-05-07 12:27:46 +09:00
Kohei Takahashi
a273cd8131
Added workaround for msvc-14.x
2018-04-19 00:21:41 +09:00
Kohei Takahashi
e962c1abb5
Fixed vector compile error with C-style array
2018-04-18 22:31:35 +09:00
Kohei Takahashi
9536909a3a
Remove redundant argument.
2018-03-14 16:02:07 +09:00
Kohei Takahashi
47070610d0
Remove unnecessary user defined ctor
...
there is no reasons defining those probably.
This change allows to be vector trivially copyable iff all elements are
trivially copyable, i.e. following static assert now passes.
```cpp
static_assert(std::is_trivially_copyable<vector<double, int>>{});
```
2018-03-14 15:15:33 +09:00
Nikita Kniazev
38818fbe3d
Add limits precheck
2018-02-20 22:44:34 +03:00
Nikita Kniazev
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
Kohei Takahashi
b12c6b6af6
Regenerate preprocessed files.
2017-11-23 22:59:02 +09:00
Kohei Takahashi
4eda545405
Fixed a regression with msvc 10/11/12 defect
2017-11-23 22:48:11 +09:00
Kohei Takahashi
0e0de6c4f1
Regenerate preprocessed files.
2017-10-15 07:10:25 +09:00
Kohei Takahashi
dfe08dec2c
Fixed incorrect overload resolution.
...
Those functions should not be chosen for copying/moving.
2017-10-14 02:34:44 +09:00
Kohei Takahashi
e606ceeff0
Improve vector value_at performance.
2017-10-07 14:18:29 +09:00
Kohei Takahashi
24d1c7fd1a
Reduce type deduction which is already known.
2017-10-04 01:43:45 +09:00
Kohei Takahashi
e5d073d786
Use compiler generated ctor.
2017-10-04 01:30:27 +09:00
Kohei Takahashi
6a9b7f314d
Remove unnecessary base check.
...
fusion::tuple doesn't inherit from fusion::vector now.
2017-10-04 01:13:26 +09:00
Kohei Takahashi
451e21adb3
Update workarounds for msvc 14.1
2017-04-30 23:26:24 +09:00
Lee Clagett
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
Lee Clagett
55150a7fa6
Add DISABLE_VARIADIC_VECTOR and SFINAE for c++11 tuple element construction
2016-07-26 14:53:26 -04:00
Lee Clagett
79d8e9d11c
Added to nested tests, and fixed C++11 vector copy-from-sequence
2016-05-31 16:52:57 -04:00
Kohei Takahashi
104f508cef
Remove outdated comment.
2016-03-07 19:42:23 +09:00
Kohei Takahashi
b46aad996a
Remove trailing void_ support on variadic vector.
2016-02-11 23:56:07 +09:00
Kohei Takahashi
64b8406c16
Introduce detail::enabler instead of fusion::void_.
2015-12-10 17:06:04 +09:00
Kohei Takahashi
2492ff9b25
regen
2015-12-01 01:26:08 +09:00
Kohei Takahashi
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
Charly Chevalier
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
Charly Chevalier
74c0d5d0ec
Fix fusion::at<vector<...>, N> for C array types
2015-11-10 10:55:13 +01:00
Louis Dionne
4d3891ed31
Remove invalid odr-usages of boost::declval.
2015-11-07 16:11:06 -05:00
Kohei Takahashi
4d5da0371b
Suppress undefined inline function warning.
2015-10-27 07:59:55 +09:00
Kohei Takahashi
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
Joel de Guzman
18742c6922
Merge pull request #105 from boostorg/variadics
...
Merge variadics into develop.
2015-10-22 15:40:04 +08:00
Kohei Takahashi
1ad2e59e07
Make fusion::at<vector<...>,N> O(1).
2015-10-20 20:12:14 +09:00
Kohei Takahashi
c750552a02
Tweak coding style.
2015-10-06 11:28:16 +09:00
Kohei Takahashi
e37fd170ce
Preprocessing...
2015-07-28 01:02:41 +09:00
Kohei Takahashi
298eeef9c9
Remove evil numbered_vector_tag.
2015-06-30 01:28:01 +09:00
Kohei Takahashi
f9fda7ce06
Remove intermediate specialization.
2015-06-28 19:42:08 +09:00
Kohei Takahashi
969b475462
Implement variadic templates based fusion::vector.
...
Thanks to Lee Clagett.
2015-06-28 01:15:51 +09:00
Kohei Takahashi
d937003962
Prepare implementing c++11 variadic based fusion::vector.
2015-06-28 01:15:51 +09:00
Kohei Takahashi
ddcd3cdf93
Likewise.
2015-06-17 01:40:45 +09:00
Kohei Takahashi
78afb4d3fc
Likewise.
2015-06-14 23:05:06 +09:00
Kohei Takahashi
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
Kohei Takahashi
83a08934c8
Prepare to merge
2015-04-19 11:56:21 +09:00
Damien Buhl alias daminetreg
0954000314
After merge of #55 regenerated preprocessed headers as needed by #49 .
2015-03-06 14:51:52 +01: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
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
Kohei Takahashi
f872d1326a
The ctor should check which is seqence or not.
2015-01-11 01:15:52 +09:00
Joel de Guzman
97c863eaa0
(Re)Generating preprocessed files.
2015-01-05 15:03:54 +08:00
Kohei Takahashi
9ab7774fd7
Replace some usage of std::forward to static_cast.
...
For more details, See inline comment of include/boost/fusion/support/config.hpp .
2014-11-26 01:35:55 +09:00
Kohei Takahashi
9075da0790
Mitigate too noisy name-hiding warnings (C4453) on VS2015 Preview.
...
NOTE: This commit doesn't contain new preprocessed file to review easier.
2014-11-19 13:20:36 +09:00