⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.ipp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 IPP
📖 第 1 页 / 共 4 页
字号:
    BOOST_CHECK(ca2.first[0] == 8);    BOOST_CHECK(ca2.first[1] == 9);    BOOST_CHECK(a1.second == 3);    BOOST_CHECK(a2.second == 2);    BOOST_CHECK(ca1.second == 3);    BOOST_CHECK(ca2.second == 2);    cb.pop_back();    cb.pop_back();    cb.pop_back();    a1 = cb.array_one();    a2 = cb.array_two();    ca1 = cb.array_one();    ca2 = cb.array_two();    BOOST_CHECK(a1.first[0] == 5);    BOOST_CHECK(a1.first[1] == 6);    BOOST_CHECK(ca1.first[0] == 5);    BOOST_CHECK(ca1.first[1] == 6);    BOOST_CHECK(a1.second == 2);    BOOST_CHECK(a2.second == 0);    BOOST_CHECK(ca1.second == 2);    BOOST_CHECK(ca2.second == 0);    CB_CONTAINER<MyInteger> cb0(0);    a1 = cb0.array_one();    a2 = cb0.array_two();    BOOST_CHECK(a1.second == 0);    BOOST_CHECK(a2.second == 0);    const CB_CONTAINER<MyInteger> ccb(10, 1);    ca1 = ccb.array_one();    ca2 = ccb.array_two();    BOOST_CHECK(ca1.second == 10);    BOOST_CHECK(*(ca1.first) == 1);    BOOST_CHECK(ca2.second == 0);    generic_test(cb);    generic_test(cb0);}void capacity_and_reserve_test() {    CB_CONTAINER<MyInteger> cb1(0);    CB_CONTAINER<MyInteger> cb2(10);    BOOST_CHECK(cb1.capacity() == 0);    BOOST_CHECK(cb1.size() == 0);    BOOST_CHECK(cb1.reserve() == 0);    BOOST_CHECK(cb1.full());    BOOST_CHECK(cb1.empty());    BOOST_CHECK(cb1.reserve() == cb1.capacity() - cb1.size());    BOOST_CHECK(cb2.capacity() == 10);    BOOST_CHECK(cb2.size() == 0);    BOOST_CHECK(cb2.reserve() == 10);    BOOST_CHECK(cb2.reserve() == cb2.capacity() - cb2.size());    cb1.push_back(1);    cb2.push_back(2);    cb2.push_back(2);    cb2.push_back(2);    BOOST_CHECK(cb1.capacity() == 0);    BOOST_CHECK(cb1.size() == 0);    BOOST_CHECK(cb1.reserve() == 0);    BOOST_CHECK(cb1.full());    BOOST_CHECK(cb1.empty());    BOOST_CHECK(cb1.reserve() == cb1.capacity() - cb1.size());    BOOST_CHECK(cb2.capacity() == 10);    BOOST_CHECK(cb2.size() == 3);    BOOST_CHECK(cb2.reserve() == 7);    BOOST_CHECK(cb2.reserve() == cb2.capacity() - cb2.size());    generic_test(cb1);    generic_test(cb2);}void full_and_empty_test() {    CB_CONTAINER<MyInteger> cb1(10);    CB_CONTAINER<MyInteger> cb2(3);    CB_CONTAINER<MyInteger> cb3(2);    CB_CONTAINER<MyInteger> cb4(2);    cb2.push_back(1);    cb2.push_back(3);    cb2.push_back(1);    cb2.push_back(1);    cb2.push_back(1);    cb3.push_back(3);    cb3.push_back(1);    cb4.push_back(1);    BOOST_CHECK(cb1.empty());    BOOST_CHECK(cb2.full());    BOOST_CHECK(cb3.full());    BOOST_CHECK(!cb4.empty());    BOOST_CHECK(!cb4.full());    generic_test(cb1);    generic_test(cb2);    generic_test(cb3);    generic_test(cb4);}void set_capacity_test() {    CB_CONTAINER<MyInteger> cb1(10);    cb1.push_back(2);    cb1.push_back(3);    cb1.push_back(1);    cb1.set_capacity(5);    CB_CONTAINER<MyInteger> cb2(3);    cb2.push_back(2);    cb2.push_back(3);    cb2.push_back(1);    cb2.set_capacity(10);    CB_CONTAINER<MyInteger> cb3(5);    cb3.push_back(2);    cb3.push_back(3);    cb3.push_back(1);    cb3.set_capacity(2);    BOOST_CHECK(cb1.size() == 3);    BOOST_CHECK(cb1[0] == 2);    BOOST_CHECK(cb1[2] == 1);    BOOST_CHECK(cb1.capacity() == 5);    BOOST_CHECK(cb2.size() == 3);    BOOST_CHECK(cb2[0] == 2);    BOOST_CHECK(cb2[2] == 1);    BOOST_CHECK(cb2.capacity() == 10);    BOOST_CHECK(cb3.size() == 2);    BOOST_CHECK(cb3[0] == 2);    BOOST_CHECK(cb3[1] == 3);    BOOST_CHECK(cb3.capacity() == 2);    cb3.set_capacity(2);    BOOST_CHECK(cb3.size() == 2);    BOOST_CHECK(cb3[0] == 2);    BOOST_CHECK(cb3[1] == 3);    BOOST_CHECK(cb3.capacity() == 2);    cb3.set_capacity(0);    BOOST_CHECK(cb3.size() == 0);    BOOST_CHECK(cb3.capacity() == 0);    generic_test(cb1);    generic_test(cb2);    generic_test(cb3);}void rset_capacity_test() {    CB_CONTAINER<MyInteger> cb1(10);    cb1.push_back(2);    cb1.push_back(3);    cb1.push_back(1);    cb1.rset_capacity(5);    CB_CONTAINER<MyInteger> cb2(3);    cb2.push_back(2);    cb2.push_back(3);    cb2.push_back(1);    cb2.rset_capacity(10);    CB_CONTAINER<MyInteger> cb3(5);    cb3.push_back(2);    cb3.push_back(3);    cb3.push_back(1);    cb3.rset_capacity(2);    BOOST_CHECK(cb1.size() == 3);    BOOST_CHECK(cb1[0] == 2);    BOOST_CHECK(cb1[2] == 1);    BOOST_CHECK(cb1.capacity() == 5);    BOOST_CHECK(cb2.size() == 3);    BOOST_CHECK(cb2[0] == 2);    BOOST_CHECK(cb2[2] == 1);    BOOST_CHECK(cb2.capacity() == 10);    BOOST_CHECK(cb3.size() == 2);    BOOST_CHECK(cb3[0] == 3);    BOOST_CHECK(cb3[1] == 1);    BOOST_CHECK(cb3.capacity() == 2);    cb3.rset_capacity(2);    BOOST_CHECK(cb3.size() == 2);    BOOST_CHECK(cb3[0] == 3);    BOOST_CHECK(cb3[1] == 1);    BOOST_CHECK(cb3.capacity() == 2);    cb3.rset_capacity(0);    BOOST_CHECK(cb3.size() == 0);    BOOST_CHECK(cb3.capacity() == 0);    generic_test(cb1);    generic_test(cb2);    generic_test(cb3);}void resize_test() {    CB_CONTAINER<MyInteger> cb1(10);    cb1.push_back(1);    cb1.push_back(2);    cb1.push_back(3);    cb1.push_back(4);    cb1.resize(20, 5);    CB_CONTAINER<MyInteger> cb2(10);    cb2.push_back(1);    cb2.push_back(2);    cb2.push_back(3);    cb2.push_back(4);    cb2.resize(2);    CB_CONTAINER<MyInteger> cb3(10, 1);    cb3.resize(0);    CB_CONTAINER<MyInteger> cb4(10, 1);    cb4.resize(10);    BOOST_CHECK(cb1.size() == 20);    BOOST_CHECK(cb1.capacity() == 20);    BOOST_CHECK(cb1[0] == 1);    BOOST_CHECK(cb1[3] == 4);    BOOST_CHECK(cb1[4] == 5);    BOOST_CHECK(cb1[19] == 5);    BOOST_CHECK(cb2.size() == 2);    BOOST_CHECK(cb2.capacity() == 10);    BOOST_CHECK(cb2[0] == 1);    BOOST_CHECK(cb2[1] == 2);    BOOST_CHECK(cb3.size() == 0);    BOOST_CHECK(cb3.capacity() == 10);    BOOST_CHECK(cb4.size() == 10);    BOOST_CHECK(cb4.capacity() == 10);    BOOST_CHECK(cb4[0] == 1);    BOOST_CHECK(cb4[9] == 1);    generic_test(cb1);    generic_test(cb2);    generic_test(cb3);    generic_test(cb4);}void rresize_test() {    CB_CONTAINER<MyInteger> cb1(10);    cb1.push_back(1);    cb1.push_back(2);    cb1.push_back(3);    cb1.push_back(4);    cb1.rresize(20, 5);    CB_CONTAINER<MyInteger> cb2(10);    cb2.push_back(1);    cb2.push_back(2);    cb2.push_back(3);    cb2.push_back(4);    cb2.rresize(2);    CB_CONTAINER<MyInteger> cb3(10, 1);    cb3.rresize(0);    CB_CONTAINER<MyInteger> cb4(10, 1);    cb4.rresize(10);    BOOST_CHECK(cb1.size() == 20);    BOOST_CHECK(cb1.capacity() == 20);    BOOST_CHECK(cb1[0] == 5);    BOOST_CHECK(cb1[15] == 5);    BOOST_CHECK(cb1[16] == 1);    BOOST_CHECK(cb1[19] == 4);    BOOST_CHECK(cb2.size() == 2);    BOOST_CHECK(cb2.capacity() == 10);    BOOST_CHECK(cb2[0] == 3);    BOOST_CHECK(cb2[1] == 4);    BOOST_CHECK(cb3.size() == 0);    BOOST_CHECK(cb3.capacity() == 10);    BOOST_CHECK(cb4.size() == 10);    BOOST_CHECK(cb4.capacity() == 10);    BOOST_CHECK(cb4[0] == 1);    BOOST_CHECK(cb4[9] == 1);    generic_test(cb1);    generic_test(cb2);    generic_test(cb3);    generic_test(cb4);}void constructor_test() {    CB_CONTAINER<MyInteger> cb0;    BOOST_CHECK(cb0.capacity() == 0);    BOOST_CHECK(cb0.size() == 0);    cb0.push_back(1);    cb0.push_back(2);    cb0.push_back(3);    BOOST_CHECK(cb0.size() == 0);    BOOST_CHECK(cb0.capacity() == 0);    CB_CONTAINER<MyInteger> cb1(3);    CB_CONTAINER<MyInteger> cb2(3, 2);    vector<int> v;    v.push_back(1);    v.push_back(2);    v.push_back(3);    v.push_back(4);    v.push_back(5);    CB_CONTAINER<MyInteger> cb3(v.begin(), v.end());    CB_CONTAINER<MyInteger> cb4(3, v.begin(), v.end());    CB_CONTAINER<MyInteger> cb5(10, v.begin(), v.end());    CB_CONTAINER<MyInteger> cb6(10, 3, MyInteger(2));    BOOST_CHECK(cb1.size() == 0);    BOOST_CHECK(cb1.capacity() == 3);    BOOST_CHECK(cb2[0] == 2);    BOOST_CHECK(cb2.full());    BOOST_CHECK(cb2[0] == 2);    BOOST_CHECK(cb2[1] == 2);    BOOST_CHECK(cb2[2] == 2);    BOOST_CHECK(cb3.size() == 5);    BOOST_CHECK(cb3.capacity() == 5);    BOOST_CHECK(cb3.full());    BOOST_CHECK(cb3[0] == 1);    BOOST_CHECK(cb3[4] == 5);    BOOST_CHECK(cb4.size() == 3);    BOOST_CHECK(cb4.capacity() == 3);    BOOST_CHECK(cb4.full());    BOOST_CHECK(cb4[0] == 3);    BOOST_CHECK(cb4[2] == 5);    BOOST_CHECK(cb5.size() == 5);    BOOST_CHECK(cb5.capacity() == 10);    BOOST_CHECK(!cb5.full());    BOOST_CHECK(cb5[0] == 1);    BOOST_CHECK(cb5[4] == 5);    BOOST_CHECK(cb6.size() == 3);    BOOST_CHECK(cb6.capacity() == 10);    BOOST_CHECK(!cb6.full());    BOOST_CHECK(cb6[0] == 2);    BOOST_CHECK(cb6[2] == 2);    cb5.push_back(6);    cb6.push_back(6);    BOOST_CHECK(cb5[5] == 6);    BOOST_CHECK(cb5[0] == 1);    BOOST_CHECK(cb5.size() == 6);    BOOST_CHECK(cb6[3] == 6);    BOOST_CHECK(cb6.size() == 4);    BOOST_CHECK(cb6[0] == 2);#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)    CB_CONTAINER<int> cb7(MyInputIterator(v.begin()), MyInputIterator(v.end()));    CB_CONTAINER<int> cb8(3, MyInputIterator(v.begin()), MyInputIterator(v.end()));    BOOST_CHECK(cb7.capacity() == 5);    BOOST_CHECK(cb8.capacity() == 3);#endif // #if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)    generic_test(cb1);    generic_test(cb2);    generic_test(cb3);    generic_test(cb4);    generic_test(cb5);    generic_test(cb6);}void assign_test() {    CB_CONTAINER<MyInteger> cb1(4);    cb1.push_back(1);    cb1.push_back(2);    cb1.push_back(3);    cb1.push_back(4);    cb1.push_back(5);    cb1.assign(3, 8);    BOOST_CHECK(cb1.size() == 3);    BOOST_CHECK(cb1.capacity() == 3);    BOOST_CHECK(cb1[0] == 8);    BOOST_CHECK(cb1[2] == 8);    cb1.assign(6, 7);    BOOST_CHECK(cb1.size() == 6);    BOOST_CHECK(cb1.capacity() == 6);    BOOST_CHECK(cb1[0] == 7);    BOOST_CHECK(cb1[5] == 7);    CB_CONTAINER<float> cb2(4);    cb2.assign(3, 1.1f);    BOOST_CHECK(cb2[0] == 1.1f);    CB_CONTAINER<MyInteger> cb3(5);    cb3.push_back(1);    cb3.push_back(2);    cb3.push_back(3);    cb3.assign((size_t)10, 1); // The size_t cast is not needed. It is present here just because of testing purposes.    BOOST_CHECK(cb3[0] == 1);    BOOST_CHECK(cb3[9] == 1);    BOOST_CHECK(cb3.size() == 10);    BOOST_CHECK(cb3.capacity() == 10);#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)    vector<int> v;    v.push_back(1);    v.push_back(2);    v.push_back(3);    v.push_back(4);    v.push_back(5);    CB_CONTAINER<int> cb4(3);    cb4.assign(MyInputIterator(v.begin()), MyInputIterator(v.end()));    CB_CONTAINER<int> cb5(3);    cb5.assign(4, MyInputIterator(v.begin()), MyInputIterator(v.end()));    BOOST_CHECK(cb4.capacity() == 5);    BOOST_CHECK(cb5.capacity() == 4);#endif // #if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)    generic_test(cb1);    generic_test(cb3);}void copy_constructor_and_assign_test() {    CB_CONTAINER<MyInteger> cb1(4);    cb1.push_back(1);    cb1.push_back(2);    cb1.push_back(3);    cb1.push_back(4);    cb1.push_back(5);    CB_CONTAINER<MyInteger> cb2 = cb1;    BOOST_CHECK(cb1 == cb2);    BOOST_CHECK(cb2.capacity() == 4);    BOOST_CHECK(cb2[0] == 2);    BOOST_CHECK(cb2[3] == 5);    CB_CONTAINER<MyInteger> cb3(20);    cb1.pop_back();    CB_CONTAINER<MyInteger> cb4(3);    cb3 = cb2;    cb3 = cb3;    cb4 = cb1;    CB_CONTAINER<MyInteger> cb5 = cb1;    BOOST_CHECK(cb3 == cb2);    BOOST_CHECK(cb4 == cb1);    BOOST_CHECK(cb2.full());    BOOST_CHECK(cb2[0] == 2);    BOOST_CHECK(cb3.full());    BOOST_CHECK(cb3.capacity() == 4);    BOOST_CHECK(cb4.capacity() == 4);    BOOST_CHECK(!cb4.full());    BOOST_CHECK(*(cb4.end() - 1) == 4);    BOOST_CHECK(cb1 == cb5);    BOOST_CHECK(cb5.capacity() == 4);    BOOST_CHECK(cb2[0] == 2);    BOOST_CHECK(cb2[2] == 4);    generic_test(cb1);    generic_test(cb2);    generic_test(cb3);    generic_test(cb4);    generic_test(cb5);}void swap_test() {    CB_CONTAINER<MyInteger> cb1(2);    cb1.push_back(1);    cb1.push_back(2);    cb1.push_back(3);    CB_CONTAINER<MyInteger> cb2(5);    cb2.push_back(8);    cb2.swap(cb1);    cb2.swap(cb2);    BOOST_CHECK(cb2.capacity() == 2);    BOOST_CHECK(cb2[0] == 2);    BOOST_CHECK(cb2.full());    BOOST_CHECK(cb1.capacity() == 5);    BOOST_CHECK(cb1[0] == 8);    BOOST_CHECK(cb1.size() == 1);    generic_test(cb1);    generic_test(cb2);}void push_back_test() {    CB_CONTAINER<MyDefaultConstructible> cb1(5);    cb1.push_back();    cb1.push_back(MyDefaultConstructible(2));    BOOST_CHECK(cb1[0].m_n == 1);    BOOST_CHECK(cb1[1].m_n == 2);    CB_CONTAINER<MyInteger> cb2(5);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -