Предположим, что класс
class Foo
{
private:
ANonTrivialContainer bar;
OtherData baz;
};
Итераторы ANonTrivialContainer являются двунаправленными. Снаружи я хочу делать вещи с содержимым бара. Что является предпочтительным из
Я бы предоставил visitBars
универсальный метод, принимая функтор в качестве параметра.
template<typename F> void visitBars(F visit) {
for(auto b: bar)
visit(b);
}
Других решений пока нет …