Commit Graph

49 Commits

Author SHA1 Message Date
b4afa1c69b It's not a trivially copyable unless all elems are 2018-05-08 00:38:10 +09:00
9536909a3a Remove redundant argument. 2018-03-14 16:02:07 +09:00
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
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
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
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
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
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
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
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
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
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
f872d1326a The ctor should check which is seqence or not. 2015-01-11 01:15:52 +09:00
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
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
c4f9f0d1b6 gpu-enable functions 2014-01-22 23:55:53 -08:00
e1dc534877 build target for preprocessing Fusion with wave 2014-01-21 14:17:09 -08:00
228401d898 More map tests and more API features implemented + tweaks to affected components
[SVN r82713]
2013-02-04 06:21:45 +00:00
e1819c11b2 Remove usage of deprecated macros
[SVN r81452]
2012-11-21 03:12:31 +00:00
a53f93ff1a move-assign for vector
[SVN r80345]
2012-09-01 02:01:26 +00:00
c8b47ca3ca Added move ctors for vector and deque (deque for gcc partially working for now)
no preprocessed files yet

[SVN r80331]
2012-08-31 14:33:12 +00:00
48e4118768 Fixes for MSVC workarounds from Freundlich: http://codepad.org/wRelwDJt
[SVN r75595]
2011-11-21 14:43:19 +00:00
7365eb0a36 Added preprocessed files to speed compilation
[SVN r74411]
2011-09-16 06:22:19 +00:00
0e7a013851 Bumped copyright date
[SVN r74407]
2011-09-16 05:30:23 +00:00
a21a748f24 Added preprocessed files to speed compilation
[SVN r74397]
2011-09-16 03:13:52 +00:00
7c986ebd61 Clean up MSVC build. Fixes #1619. Fixes #3074.
[SVN r62854]
2010-06-12 15:58:31 +00:00
837d5b0604 fix #1614
[SVN r61488]
2010-04-22 13:15:01 +00:00
3ed2803482 Fix Ticket #1614:
[SVN r53916]
2009-06-15 02:07:19 +00:00
d10270f755 remove superfluous include
[SVN r40383]
2007-10-23 23:29:08 +00:00
32f1c58ce7 branch for creating branch for fusion 2.1
[SVN r40237]
2007-10-21 00:52:09 +00:00
7a6e82b7cf Removed file/folder
[SVN r40234]
2007-10-21 00:47:59 +00:00
fc57a566cb creating branch for fusion 2.1
[SVN r40232]
2007-10-20 23:59:59 +00:00