📄 common.ipp
字号:
cb2.push_back(); BOOST_CHECK(cb2.back() == CB_CONTAINER<MyInteger>::value_type()); cb2.push_back(1); BOOST_CHECK(cb2.back() == 1); generic_test(cb2);}void pop_back_test() { CB_CONTAINER<MyInteger> cb(4); cb.push_back(1); cb.push_back(2); cb.push_back(3); cb.push_back(4); cb.push_back(5); cb.pop_back(); BOOST_CHECK(cb.size() == 3); BOOST_CHECK(!cb.full()); BOOST_CHECK(cb[0] == 2); generic_test(cb);}void insert_test() { CB_CONTAINER<MyInteger> cb1(4); cb1.push_back(1); cb1.push_back(2); cb1.push_back(3); CB_CONTAINER<MyInteger>::iterator it1 = cb1.begin() + 1; it1 = cb1.insert(it1, 10); CB_CONTAINER<MyInteger> cb2(4); cb2.push_back(1); cb2.insert(cb2.begin()); cb2.insert(cb2.begin(), -1); CB_CONTAINER<MyInteger>::iterator it2 = cb2.begin() + 1; it2 = cb2.insert(it2, 5); CB_CONTAINER<MyInteger> cb3(2); cb3.insert(cb3.end(), 10); cb3.insert(cb3.end(), 20); cb3.insert(cb3.begin(), 30); cb3.insert(cb3.end(), 40); BOOST_CHECK(cb1[1] == 10); BOOST_CHECK(*it1 == 10); BOOST_CHECK(cb1.full()); BOOST_CHECK(cb2[1] == 5); BOOST_CHECK(*it2 == 5); BOOST_CHECK(cb2.full()); BOOST_CHECK(cb3[0] == 20); BOOST_CHECK(cb3[1] == 40); generic_test(cb1); generic_test(cb2); generic_test(cb3);}void insert_n_test() { CB_CONTAINER<MyInteger> cb1(4); cb1.push_back(1); cb1.push_back(2); cb1.push_back(3); cb1.insert(cb1.begin() + 1, 2, 10); CB_CONTAINER<MyInteger> cb2(2, 3); cb2.insert(cb2.begin(), 10, 5); CB_CONTAINER<MyInteger> cb3(4); cb3.insert(cb3.end(), 1, 6); CB_CONTAINER<MyInteger> cb4(6); cb4.push_back(1); cb4.push_back(2); cb4.push_back(3); cb4.push_back(4); cb4.insert(cb4.begin() + 2, 5, 6); cb4.insert(cb4.begin() + 2, 0, 7); BOOST_CHECK(cb1.full()); BOOST_CHECK(cb1[0] == 10); BOOST_CHECK(cb1[1] == 10); BOOST_CHECK(cb1[2] == 2); BOOST_CHECK(cb1[3] == 3); BOOST_CHECK(cb2[0] == 3); BOOST_CHECK(cb2[1] == 3); BOOST_CHECK(cb3[0] == 6); BOOST_CHECK(cb3.size() == 1); BOOST_CHECK(cb4.size() == 6); BOOST_CHECK(cb4[0] == 6); BOOST_CHECK(cb4[1] == 6); BOOST_CHECK(cb4[2] == 6); BOOST_CHECK(cb4[3] == 6); BOOST_CHECK(cb4[4] == 3); BOOST_CHECK(cb4[5] == 4); generic_test(cb1); generic_test(cb2); generic_test(cb3); generic_test(cb4);}void insert_range_test() { vector<int> v; v.push_back(11); v.push_back(12); v.push_back(13); CB_CONTAINER<MyInteger> cb1(4); cb1.push_back(1); cb1.push_back(2); cb1.push_back(3); cb1.insert(cb1.begin() + 1, v.begin(), v.end()); CB_CONTAINER<MyInteger> cb2(2, 2); cb2.insert(cb2.end(), v.begin(), v.end()); CB_CONTAINER<MyInteger> cb3(5); cb3.insert(cb3.end(), v.end(), v.end()); CB_CONTAINER<MyInteger> cb4(5); cb4.insert(cb4.end(), v.begin(), v.begin() + 1); MyInteger array[] = { 5, 6, 7, 8, 9 }; CB_CONTAINER<MyInteger> cb5(6); cb5.push_back(1); cb5.push_back(2); cb5.push_back(3); cb5.push_back(4); cb5.insert(cb5.begin() + 2, array, array + 5); cb5.insert(cb5.begin(), array, array + 5); BOOST_CHECK(cb1.full()); BOOST_CHECK(cb1[0] == 12); BOOST_CHECK(cb1[1] == 13); BOOST_CHECK(cb1[2] == 2); BOOST_CHECK(cb1[3] == 3); BOOST_CHECK(cb2[0] == 12); BOOST_CHECK(cb2[1] == 13); BOOST_CHECK(cb3.empty()); BOOST_CHECK(cb4[0] == 11); BOOST_CHECK(cb4.size() == 1); BOOST_CHECK(cb5.size() == 6); BOOST_CHECK(cb5[0] == 6); BOOST_CHECK(cb5[1] == 7); BOOST_CHECK(cb5[2] == 8); BOOST_CHECK(cb5[3] == 9); BOOST_CHECK(cb5[4] == 3); BOOST_CHECK(cb5[5] == 4);#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) v.clear(); v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); v.push_back(5); CB_CONTAINER<int> cb6(4); cb6.push_back(0); cb6.push_back(-1); cb6.push_back(-2); cb6.insert(cb6.begin() + 1, MyInputIterator(v.begin()), MyInputIterator(v.end())); v.clear(); v.push_back(11); v.push_back(12); v.push_back(13); CB_CONTAINER<int> cb7(4); cb7.push_back(1); cb7.push_back(2); cb7.push_back(3); cb7.insert(cb7.begin() + 1, MyInputIterator(v.begin()), MyInputIterator(v.end())); CB_CONTAINER<int> cb8(2, 2); cb8.insert(cb8.end(), MyInputIterator(v.begin()), MyInputIterator(v.end())); CB_CONTAINER<int> cb9(5); cb9.insert(cb9.end(), MyInputIterator(v.end()), MyInputIterator(v.end())); CB_CONTAINER<int> cb10(5); cb10.insert(cb10.end(), MyInputIterator(v.begin()), MyInputIterator(v.begin() + 1)); v.clear(); v.push_back(5); v.push_back(6); v.push_back(7); v.push_back(8); v.push_back(9); CB_CONTAINER<int> cb11(6); cb11.push_back(1); cb11.push_back(2); cb11.push_back(3); cb11.push_back(4); cb11.insert(cb11.begin() + 2, MyInputIterator(v.begin()), MyInputIterator(v.begin() + 5)); cb11.insert(cb11.begin(), MyInputIterator(v.begin()), MyInputIterator(v.begin() + 5)); BOOST_CHECK(cb6.capacity() == 4); BOOST_CHECK(cb6[0] == 4); BOOST_CHECK(cb6[3] == -2); BOOST_CHECK(cb7.full()); BOOST_CHECK(cb7[0] == 12); BOOST_CHECK(cb7[1] == 13); BOOST_CHECK(cb7[2] == 2); BOOST_CHECK(cb7[3] == 3); BOOST_CHECK(cb8[0] == 12); BOOST_CHECK(cb8[1] == 13); BOOST_CHECK(cb9.empty()); BOOST_CHECK(cb10[0] == 11); BOOST_CHECK(cb10.size() == 1); BOOST_CHECK(cb11.size() == 6); BOOST_CHECK(cb11[0] == 6); BOOST_CHECK(cb11[1] == 7); BOOST_CHECK(cb11[2] == 8); BOOST_CHECK(cb11[3] == 9); BOOST_CHECK(cb11[4] == 3); BOOST_CHECK(cb11[5] == 4);#endif // #if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) generic_test(cb1); generic_test(cb2); generic_test(cb3); generic_test(cb4); generic_test(cb5);}void push_front_test() { CB_CONTAINER<MyDefaultConstructible> cb1(5); cb1.push_front(); cb1.push_front(MyDefaultConstructible(2)); BOOST_CHECK(cb1[0].m_n == 2); BOOST_CHECK(cb1[1].m_n == 1); CB_CONTAINER<MyInteger> cb2(5); cb2.push_front(); BOOST_CHECK(cb2.front() == CB_CONTAINER<MyInteger>::value_type()); cb2.push_front(1); BOOST_CHECK(cb2.front() == 1); CB_CONTAINER<MyInteger> cb3(0); cb3.push_front(10); BOOST_CHECK(cb3.empty()); generic_test(cb2); generic_test(cb3);}void pop_front_test() { CB_CONTAINER<MyInteger> cb(4); cb.push_front(1); cb.push_front(2); cb.push_front(3); cb.push_front(4); cb.push_front(5); cb.pop_front(); BOOST_CHECK(cb.size() == 3); BOOST_CHECK(!cb.full()); BOOST_CHECK(cb[0] == 4); generic_test(cb);}void rinsert_test() { CB_CONTAINER<MyInteger> cb1(4); cb1.push_front(1); cb1.push_front(2); cb1.push_front(3); CB_CONTAINER<MyInteger>::iterator it1 = cb1.begin() + 1; it1 = cb1.rinsert(it1, 10); CB_CONTAINER<MyInteger> cb2(4); cb2.push_front(1); cb2.rinsert(cb2.begin()); cb2.rinsert(cb2.begin(), -1); CB_CONTAINER<MyInteger>::iterator it2 = cb2.end() - 2; it2 = cb2.rinsert(it2, 5); CB_CONTAINER<MyInteger> cb3(2); cb3.rinsert(cb3.begin(), 10); cb3.rinsert(cb3.begin(), 20); cb3.rinsert(cb3.end(), 30); cb3.rinsert(cb3.begin(), 40); CB_CONTAINER<MyInteger> cb4(4); cb4.push_back(1); cb4.push_back(2); cb4.push_back(3); CB_CONTAINER<MyInteger>::iterator it3 = cb4.begin() + 1; it3 = cb4.rinsert(it3, 10); CB_CONTAINER<MyInteger> cb5(4); cb5.push_back(1); cb5.rinsert(cb5.begin(), 0); cb5.rinsert(cb5.begin(), -1); CB_CONTAINER<MyInteger>::iterator it4 = cb5.begin() + 1; it4 = cb5.rinsert(it4, 5); CB_CONTAINER<MyInteger> cb6(2); cb6.rinsert(cb6.end(), 10); cb6.rinsert(cb6.end(), 20); cb6.rinsert(cb6.begin(), 30); cb6.rinsert(cb6.end(), 40); CB_CONTAINER<MyInteger> cb7(6); cb7.push_back(1); cb7.push_back(2); cb7.push_back(3); cb7.push_back(4); cb7.rinsert(cb7.begin() + 2, 5, 6); BOOST_CHECK(cb1[1] == 10); BOOST_CHECK(*it1 == 10); BOOST_CHECK(cb1.full()); BOOST_CHECK(cb2[1] == 5); BOOST_CHECK(*it2 == 5); BOOST_CHECK(cb2.full()); BOOST_CHECK(cb2[3] == 1); BOOST_CHECK(cb3[0] == 40); BOOST_CHECK(cb3[1] == 20); BOOST_CHECK(cb4[1] == 10); BOOST_CHECK(*it3 == 10); BOOST_CHECK(cb4.full()); BOOST_CHECK(cb5[1] == 5); BOOST_CHECK(*it4 == 5); BOOST_CHECK(cb5.full()); BOOST_CHECK(cb6[0] == 30); BOOST_CHECK(cb6[1] == 10); BOOST_CHECK(cb7.size() == 6); BOOST_CHECK(cb7[0] == 1); BOOST_CHECK(cb7[1] == 2); BOOST_CHECK(cb7[2] == 6); BOOST_CHECK(cb7[3] == 6); BOOST_CHECK(cb7[4] == 6); BOOST_CHECK(cb7[5] == 6); generic_test(cb1); generic_test(cb2); generic_test(cb3); generic_test(cb4); generic_test(cb5); generic_test(cb6); generic_test(cb7);}void rinsert_n_test() { CB_CONTAINER<MyInteger> cb1(4); cb1.push_front(1); cb1.push_front(2); cb1.push_front(3); cb1.rinsert(cb1.begin() + 1, 2, 10); CB_CONTAINER<MyInteger> cb2(2, 3); cb2.rinsert(cb2.begin(), 10, 5); CB_CONTAINER<MyInteger> cb3(4); cb3.rinsert(cb3.end(), 1, 6); CB_CONTAINER<MyInteger> cb4(4); cb4.push_back(1); cb4.push_back(2); cb4.push_back(3); cb4.rinsert(cb4.begin() + 1, 2, 10); MyInteger array[] = { 5, 6, 7, 8, 9 }; CB_CONTAINER<MyInteger> cb5(6); cb5.push_back(1); cb5.push_back(2); cb5.push_back(3); cb5.push_back(4); cb5.rinsert(cb5.begin() + 2, array, array + 5); cb5.rinsert(cb5.end(), array, array + 5); BOOST_CHECK(cb1.full()); BOOST_CHECK(cb1[0] == 3); BOOST_CHECK(cb1[1] == 10); BOOST_CHECK(cb1[2] == 10); BOOST_CHECK(cb1[3] == 2); BOOST_CHECK(cb2[0] == 5); BOOST_CHECK(cb2[1] == 5); BOOST_CHECK(cb3[0] == 6); BOOST_CHECK(cb3.size() == 1); BOOST_CHECK(cb4.full()); BOOST_CHECK(cb4[0] == 1); BOOST_CHECK(cb4[1] == 10); BOOST_CHECK(cb4[2] == 10); BOOST_CHECK(cb4[3] == 2); BOOST_CHECK(cb5.size() == 6); BOOST_CHECK(cb5[0] == 1); BOOST_CHECK(cb5[1] == 2); BOOST_CHECK(cb5[2] == 5); BOOST_CHECK(cb5[3] == 6); BOOST_CHECK(cb5[4] == 7); BOOST_CHECK(cb5[5] == 8); generic_test(cb1); generic_test(cb2); generic_test(cb3); generic_test(cb4); generic_test(cb5);}void rinsert_range_test() { vector<int> v; v.push_back(11); v.push_back(12); v.push_back(13); v.push_back(14); CB_CONTAINER<MyInteger> cb1(4); cb1.push_back(1); cb1.push_back(2); cb1.push_back(3); cb1.rinsert(cb1.begin() + 1, v.begin(), v.end()); CB_CONTAINER<MyInteger> cb2(2, 2); cb2.rinsert(cb2.begin(), v.begin(), v.end()); CB_CONTAINER<MyInteger> cb3(5); cb3.rinsert(cb3.begin(), v.end(), v.end()); CB_CONTAINER<MyInteger> cb4(5); cb4.rinsert(cb4.begin(), v.begin(), v.begin() + 1); BOOST_CHECK(cb1.full()); BOOST_CHECK(cb1[0] == 1); BOOST_CHECK(cb1[1] == 11); BOOST_CHECK(cb1[2] == 12); BOOST_CHECK(cb1[3] == 13); BOOST_CHECK(cb2[0] == 11); BOOST_CHECK(cb2[1] == 12); BOOST_CHECK(cb3.empty()); BOOST_CHECK(cb4[0] == 11); BOOST_CHECK(cb4.size() == 1);#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) v.clear(); v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); v.push_back(5); CB_CONTAINER<int> cb10(4); cb10.push_back(0); cb10.push_back(-1); cb10.push_back(-2); cb10.rinsert(cb10.begin() + 1, MyInputIterator(v.begin()), MyInputIterator(v.end())); v.clear(); v.push_back(11); v.push_back(12); v.push_back(13); v.push_back(14); CB_CONTAINER<int> cb11(4); cb11.push_back(1); cb11.push_back(2); cb11.push_back(3); cb11.rinsert(cb11.begin() + 1, MyInputIterator(v.begin()), MyInputIterator(v.end())); CB_CONTAINER<int> cb12(2, 2); cb12.rinsert(cb12.begin(), MyInputIterator(v.begin()), MyInputIterator(v.end())); CB_CONTAINER<int> cb13(5); cb13.rinsert(cb13.begin(), MyInputIterator(v.end()), MyInputIterator(v.end())); CB_CONTAINER<int> cb14(5); cb14.rinsert(cb14.begin(), MyInputIterator(v.begin()), MyInputIterator(v.begin() + 1)); BOOST_CHECK(cb10.capacity() == 4); BOOST_CHECK(cb10[0] == 0); BOOST_CHECK(cb10[3] == 3); BOOST_CHECK(cb11.full()); BOOST_CHECK(cb11[0] == 1); BOOST_CHECK(cb11[1] == 11); BOOST_CHECK(cb11[2] == 12); BOOST_CHECK(cb11[3] == 13); BOOST_CHECK(cb12[0] == 11); BOOST_CHECK(cb12[1] == 12); BOOST_CHECK(cb13.empty()); BOOST_CHECK(cb14[0] == 11); BOOST_CHECK(cb14.size() == 1);#endif // #if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) generic_test(cb1); generic_test(cb2); generic_test(cb3); generic_test(cb4);}void erase_test() { CB_CONTAINER<MyInteger> cb1(4); cb1.push_back(1); cb1.push_back(2); cb1.push_back(3); CB_CONTAINER<MyInteger>::iterator it1 = cb1.erase(cb1.begin() + 1); CB_CONTAINER<MyInteger> cb2(1, 1); CB_CONTAINER<MyInteger>::iterator it2 = cb2.erase(cb2.begin()); CB_CONTAINER<MyInteger> cb3(4); cb3.push_back(1); cb3.push_back(2); cb3.push_back(3); CB_CONTAINER<MyInteger>::iterator it3 = cb3.erase(cb3.begin() + 2); BOOST_CHECK(cb1.size() == 2); BOOST_CHECK(cb1.capacity() == 4); BOOST_CHECK(*it1 == 3); BOOST_CHECK(cb1[0] == 1); BOOST_CHECK(cb1[1] == 3); BOOST_CHECK(cb2.size() == 0); BOOST_CHECK(cb2.capacity() == 1); BOOST_CHECK(it2 == cb2.end()); BOOST_CHECK(cb3.size() == 2); BOOST_CHECK(cb3.capacity() == 4);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -