つーか、なんでrange based forを使わないんだ?

template <typename T>
auto begin(T& v) { return &v.getItem(0); }

template <typename T>
auto end(T& v) { return &v.getItem(f.size()); }

int main()
{
for(auto& f : v) f.clear();
}

begin/endをグローバルに晒すのはあかんが、そこはADLでも使っときゃよかろう