📄 common.ipp
字号:
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 + -