Kaydet (Commit) 194070ca authored tarafından Noel Grandin's avatar Noel Grandin Kaydeden (comit) Michael Stahl

Add erase(size_t) method to o3tl::sorted_vector

I can't add a regular erase(iterator) method because we only hand
out const_iterator's

Change-Id: Ia3bdecb0f909d0712138c7ee48da268951e2733b
üst 0f57086b
...@@ -74,6 +74,11 @@ public: ...@@ -74,6 +74,11 @@ public:
return 0; return 0;
} }
void erase( size_t index )
{
std::vector<Value>::erase( _begin() + index );
}
// ACCESSORS // ACCESSORS
// Only return a const iterator, so that the vector cannot be directly updated. // Only return a const iterator, so that the vector cannot be directly updated.
......
...@@ -70,6 +70,36 @@ public: ...@@ -70,6 +70,36 @@ public:
aVec.DeleteAndDestroyAll(); aVec.DeleteAndDestroyAll();
} }
void testErase()
{
o3tl::sorted_vector<SwContent*, o3tl::less_ptr_to<SwContent> > aVec;
SwContent *p1 = new SwContent(1);
SwContent *p2 = new SwContent(2);
SwContent *p3 = new SwContent(3);
SwContent *p4 = new SwContent(4);
aVec.insert(p1);
aVec.insert(p2);
aVec.insert(p3);
CPPUNIT_ASSERT( aVec.erase(p1) == 1 );
CPPUNIT_ASSERT( aVec.size() == 2 );
aVec.erase(1);
CPPUNIT_ASSERT( aVec.size() == 1 );
CPPUNIT_ASSERT( aVec.erase(p4) == 0 );
aVec.clear();
CPPUNIT_ASSERT( aVec.size() == 0 );
aVec.insert(p1);
aVec.insert(p2);
aVec.insert(p3);
aVec.DeleteAndDestroyAll();
CPPUNIT_ASSERT( aVec.size() == 0 );
}
void testInsertRange() void testInsertRange()
{ {
o3tl::sorted_vector<SwContent*, o3tl::less_ptr_to<SwContent> > aVec1; o3tl::sorted_vector<SwContent*, o3tl::less_ptr_to<SwContent> > aVec1;
...@@ -109,6 +139,7 @@ public: ...@@ -109,6 +139,7 @@ public:
CPPUNIT_TEST_SUITE(sorted_vector_test); CPPUNIT_TEST_SUITE(sorted_vector_test);
CPPUNIT_TEST(testBasics); CPPUNIT_TEST(testBasics);
CPPUNIT_TEST(testErase);
CPPUNIT_TEST(testInsertRange); CPPUNIT_TEST(testInsertRange);
CPPUNIT_TEST(testLowerBound); CPPUNIT_TEST(testLowerBound);
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment