forked from mirror/libcxx
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
We already have a specialization that will use memcpy for construction
of trivial types from an iterator range like
std::vector<int>(int *, int *);
But if we have const-ness mismatch like
std::vector<int>(const int *, const int *);
we would use a slow path that copies each element individually. This change
enables the optimal specialization for const-ness mismatch. Fixes PR37574.
Contributions to the patch are made by Arthur O'Dwyer, Louis Dionne.
rdar://problem/40485845
Reviewers: mclow.lists, EricWF, ldionne, scanon
Reviewed By: ldionne
Subscribers: christof, ldionne, howard.hinnant, cfe-commits
Differential Revision: https://reviews.llvm.org/D48342
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@350583 91177308-0d34-0410-b5e6-96231b3b80d8
|
7 years ago | |
|---|---|---|
| .. | ||
| vector.capacity | 7 years ago | |
| vector.cons | 7 years ago | |
| vector.data | 8 years ago | |
| vector.erasure | 7 years ago | |
| vector.modifiers | 7 years ago | |
| vector.special | 8 years ago | |
| allocator_mismatch.fail.cpp | 10 years ago | |
| contiguous.pass.cpp | 9 years ago | |
| iterators.pass.cpp | 7 years ago | |
| types.pass.cpp | 10 years ago | |