bool isEqual( Container1 & c1, Container2 & c2 ) { if ( c1.size() == c2.size() ) { for ( unsigned int i = 0; i < c1.size(); ++i ) { if ( c1.test( i ) != c2.test( i ) ) return false; } return true; } return false; }
void Sort(Container1& data1, Container2& data2, bool useLessFunctor = true) { typedef typename Container1::value_type T1; typedef typename Container2::value_type T2; assert(data1.size() == data2.size()); size_t size = data1.size(); vector<std::pair<T1,T2> > data; data.reserve(size); for (size_t i = 0; i < size; ++i) { data.push_back(std::make_pair(data1[i], data2[i])); } Sort(data, useLessFunctor); for (size_t i = 0; i < size; ++i) { data1[i] = data[i].first; data2[i] = data[i].second; } }
bool isEqual( Container1 & c1, Container2 & c2 ) { return ( c1.size() == c2.size() ) && std::equal( c1.begin(), c1.end(), c2.begin() ); }