//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // <vector> // vector<bool> // void reserve(size_type n); #include <vector> #include <cassert> #include "min_allocator.h" int main() { { std::vector<bool> v; v.reserve(10); assert(v.capacity() >= 10); } { std::vector<bool> v(100); assert(v.capacity() >= 100); v.reserve(50); assert(v.size() == 100); assert(v.capacity() >= 100); v.reserve(150); assert(v.size() == 100); assert(v.capacity() >= 150); } #if TEST_STD_VER >= 11 { std::vector<bool, min_allocator<bool>> v; v.reserve(10); assert(v.capacity() >= 10); } { std::vector<bool, min_allocator<bool>> v(100); assert(v.capacity() >= 100); v.reserve(50); assert(v.size() == 100); assert(v.capacity() >= 100); v.reserve(150); assert(v.size() == 100); assert(v.capacity() >= 150); } #endif }