I would like to write a code in a better (faster) way. I have got a container vector and an simple array. I would like to compare content of the vector with content of the array. Suppose that I have got classes like this:
struct A
{
float aa;
struct(float p_aa) : aa(p_aa) {}
};
struct B : public A
{
A bb;
struct(float p_aa) : A(p_aa) {}
};
And I have also a container and an simple array:
std::vector<B> l_v = {B(1), B(3)};
B l_b[2] = {B(1), B(3)};
The function, which compare the container with the array is:
bool isTheSame(const std::vector<B> &l_v, B *l_b)
{
unsigned int count = 0;
for(auto it = l_v.begin(); it!= l_v.end(); ++it)
{
if(l_b[count].aa != it->aa)
{
return false;
}
++count;
}
return true;
}
I would like to write it in a better way using lambda or foreach. Do you have any ideas? Thanks.
std::equal