void test_buffer() { char data[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; buffer b; TEST_CHECK(b.size() == 0); TEST_CHECK(b.capacity() == 0); TEST_CHECK(b.empty()); b.resize(10); TEST_CHECK(b.size() == 10); TEST_CHECK(b.capacity() == 10); std::memcpy(b.begin(), data, 10); b.reserve(50); TEST_CHECK(std::memcmp(b.begin(), data, 10) == 0); TEST_CHECK(b.capacity() == 50); b.erase(b.begin() + 6, b.end()); TEST_CHECK(std::memcmp(b.begin(), data, 6) == 0); TEST_CHECK(b.capacity() == 50); TEST_CHECK(b.size() == 6); b.insert(b.begin(), data + 5, data + 10); TEST_CHECK(b.capacity() == 50); TEST_CHECK(b.size() == 11); TEST_CHECK(std::memcmp(b.begin(), data + 5, 5) == 0); b.clear(); TEST_CHECK(b.size() == 0); TEST_CHECK(b.capacity() == 50); b.insert(b.end(), data, data + 10); TEST_CHECK(b.size() == 10); TEST_CHECK(std::memcmp(b.begin(), data, 10) == 0); b.erase(b.begin(), b.end()); TEST_CHECK(b.capacity() == 50); TEST_CHECK(b.size() == 0); buffer().swap(b); TEST_CHECK(b.capacity() == 0); }