Commit Graph
219 Commits
Author SHA1 Message Date
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 e8da43a539 Added workaround for gcc 4.6 with C array 2018-04-26 00:02:57 +09:00
Kohei Takahashi c4881f1862 Merge upstream branch 'develop' into more-ci-targets 2018-04-22 03:41:55 +09:00
Kohei Takahashi a273cd8131 Added workaround for msvc-14.x 2018-04-19 00:21:41 +09:00
Kohei Takahashi dd695c1dbd Fixed a compile error bug similar to previous vector's one 2018-04-18 22:38:09 +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
Kohei Takahashi 9de3272174 Added workaround for GCC 4.4/c++0x
Teh call of ctor is ambiguous since gcc 4.4 allows binding rvalue to lvalue reference.
2018-03-06 00:40:41 +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
Nikita Kniazev 099333b61d map: Switch to SFINAE in template parameters
Fixes #163.

Since C++11 we can do SFINAE in template parameters. VS2017 15.5 doesn't like
the SFINAE on argument here, but do not ask me why, because I have no idea.
2017-12-14 00:05:28 +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 984fcfd276 Delete needless overload. 2017-10-14 03:18:47 +09:00
Kohei Takahashi 62f5ccac53 Fixed compile error on copy construction. 2017-10-14 03:16:44 +09:00
Kohei Takahashi cf33f3db4e Added copy assign to deque(03).
move ctor will delete defaulted copy assign.
2017-10-14 03:16:00 +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
Gregor Jasny 9cb23af898 Remove circular preprocessor include 2017-09-02 16:09:12 +02:00
Kohei Takahashi 451e21adb3 Update workarounds for msvc 14.1 2017-04-30 23:26:24 +09:00
Kohei Takahashi c630611626 Fix returing temporary variable warning on MSVC. 2016-11-01 01:54:10 +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 a81024f617 Regenerate preprocessed files. 2015-10-17 11:24:19 +09:00
Kohei Takahashi ce4ccb929c Check the argument being fusion sequence or not. 2015-10-08 22:23:10 +09:00
Kohei Takahashi 5114d9419e Drop unnecessary ctor. 2015-10-07 17:40:55 +09:00
Kohei Takahashi ca0d92e68d R-value references are now container-wide requirements. 2015-10-06 21:29:02 +09:00
Kohei Takahashi c750552a02 Tweak coding style. 2015-10-06 11:28:16 +09:00
Kohei Takahashi c30fabf98f Apply 7fdb320 change into C++98 interface. 2015-08-30 17:13:36 +09:00
Kohei Takahashi e61d08d953 Fix broken convert<deque_tag>, close issue 11572. 2015-08-26 00:20:07 +09:00
Joel de Guzman d9e5a620be Merge pull request #97 from Flast/feature/variadic/set
Variadics for fusion::set.
2015-08-20 21:57:19 +08:00