Add wxVector::operator==() and !=()
Make this class more consistent with std::vector<>.
This commit is contained in:
@@ -368,6 +368,25 @@ public:
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool operator==(const wxVector& vb) const
|
||||||
|
{
|
||||||
|
if ( vb.m_size != m_size )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
for ( size_type i = 0; i < m_size; i++ )
|
||||||
|
{
|
||||||
|
if ( vb.m_values[i] != m_values[i] )
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool operator!=(const wxVector& vb) const
|
||||||
|
{
|
||||||
|
return !(*this == vb);
|
||||||
|
}
|
||||||
|
|
||||||
void push_back(const value_type& v)
|
void push_back(const value_type& v)
|
||||||
{
|
{
|
||||||
reserve(size() + 1);
|
reserve(size() + 1);
|
||||||
|
@@ -199,6 +199,20 @@ public:
|
|||||||
*/
|
*/
|
||||||
wxVector& operator=(const wxVector& vb);
|
wxVector& operator=(const wxVector& vb);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Equality operator.
|
||||||
|
|
||||||
|
@since 3.1.1
|
||||||
|
*/
|
||||||
|
wxVector& operator==(const wxVector& vb) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Inequality operator.
|
||||||
|
|
||||||
|
@since 3.1.1
|
||||||
|
*/
|
||||||
|
wxVector& operator!=(const wxVector& vb) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns item at position @a idx.
|
Returns item at position @a idx.
|
||||||
*/
|
*/
|
||||||
|
@@ -314,3 +314,20 @@ void VectorsTestCase::Sort()
|
|||||||
CPPUNIT_ASSERT( v[idx-1] <= v[idx] );
|
CPPUNIT_ASSERT( v[idx-1] <= v[idx] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE("wxVector::operator==", "[vector][compare]")
|
||||||
|
{
|
||||||
|
wxVector<wxString> v1, v2;
|
||||||
|
CHECK( v1 == v2 );
|
||||||
|
CHECK( !(v1 != v2) );
|
||||||
|
|
||||||
|
v1.push_back("foo");
|
||||||
|
CHECK( v1 != v2 );
|
||||||
|
|
||||||
|
v2.push_back("foo");
|
||||||
|
CHECK( v1 == v2 );
|
||||||
|
|
||||||
|
v1.push_back("bar");
|
||||||
|
v2.push_back("baz");
|
||||||
|
CHECK( v1 != v2 );
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user