mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
libstdc++: std::inplace_vector implementation cleaup
Remove duplicated std::swap implementation. libstdc++-v3/ChangeLog * include/std/inplace_vector: (std::swap(inplace_vector<>&, inplace_vector<>&)): Remove the duplicated implementation at std namespace level. Keep the friend inline one. (inplace_vector<Tp, 0>::assign(initializer_list<>)): Add missing return statement.
This commit is contained in:
committed by
François Dumont
parent
3ea8d691e8
commit
2f5f3eef1d
@@ -823,6 +823,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
__detail::__synth3way);
|
||||
}
|
||||
|
||||
// [inplace.vector.special], specialized algorithms
|
||||
constexpr friend void
|
||||
swap(inplace_vector& __x, inplace_vector& __y)
|
||||
noexcept(is_nothrow_swappable_v<_Tp> && is_nothrow_move_constructible_v<_Tp>)
|
||||
@@ -907,13 +908,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
}
|
||||
};
|
||||
|
||||
// [inplace.vector.special], specialized algorithms
|
||||
template<typename _Tp, size_t _Nm>
|
||||
constexpr void
|
||||
swap(inplace_vector<_Tp, _Nm>& __x, inplace_vector<_Tp, _Nm>& __y)
|
||||
noexcept(noexcept(__x.swap(__y)))
|
||||
{ __x.swap(__y); }
|
||||
|
||||
// specialization for zero capacity, that is required to be trivally copyable
|
||||
// and empty regardless of _Tp.
|
||||
template<typename _Tp>
|
||||
@@ -992,6 +986,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
{
|
||||
if (__il.size() != 0)
|
||||
__throw_bad_alloc();
|
||||
return *this;
|
||||
}
|
||||
|
||||
template<__any_input_iterator _InputIterator>
|
||||
|
||||
Reference in New Issue
Block a user