Hi, people. I try to use openmp for multithreading the loop through std::set. When I write the following code -
#pragma omp parallel for
for (std::set<A>::const_iterator i = s.begin(); i != s.end(); ++i) {
const A a = *i;
operate(a);
}
I get an error - error: invalid type for iteration variable 'i' error: invalid controlling predicate error: invalid increment expression.
So is there an another way to correct iteration in std containers using openmp? There is a workaround to use int i and iterate from 0 to s.size() and using iterator inside a loop body, but this is not looks good.