P
peter koch
The two-function solution is similar to Boost.Range. Taking it a step
further:
pointer_range <int> r (v);
foo (r.begin (), r.end ());
This fully encapsulates the empty case.
I understand that, but in my opinion data is a low-level means for
interfacing to C-functions. There is no need to provide "full"
functionality in this area.
/Peter