Make std::vector<bool> meet C++11 allocator requirements.
authorJonathan Wakely <jwakely@redhat.com>
Fri, 31 Oct 2014 20:49:40 +0000 (20:49 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 31 Oct 2014 20:49:40 +0000 (20:49 +0000)
commitccd615e3fdf2d2b80577d27e884884e9f758e8ea
treeb2e6ecad35b86d5807204670bcf8e10569378ee0
parent9ccb17b4c47e4c43367cc78059d5deac32672de8
Make std::vector<bool> meet C++11 allocator requirements.

* include/bits/stl_bvector.h (_Bvector_base): Use allocator_traits.
(_Bvector_base::_Bvector_impl): Use allocator's pointer type.
(_Bvector_base::_M_end_addr()): Convert to raw pointer.
(vector<bool>): Use allocator_traits and _M_end_addr. Add allocator
extended constructors.
* include/bits/vector.tcc (vector<bool>): Use allocator_traits and
_M_end_addr.
* testsuite/23_containers/vector/bool/allocator/copy.cc: New.
* testsuite/23_containers/vector/bool/allocator/minimal.cc: New.
* testsuite/23_containers/vector/bool/allocator/noexcept.cc: New.
* testsuite/23_containers/vector/bool/allocator/copy_assign.cc: New.
* testsuite/23_containers/vector/bool/allocator/move.cc: New.
* testsuite/23_containers/vector/bool/allocator/swap.cc: New.
* testsuite/23_containers/vector/bool/allocator/ext_ptr.cc: New.
* testsuite/23_containers/vector/bool/allocator/move_assign.cc: New.

From-SVN: r216988
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_bvector.h
libstdc++-v3/include/bits/vector.tcc
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy_assign.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/ext_ptr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/minimal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move_assign.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/noexcept.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc [new file with mode: 0644]