Should I be using something like:
boost::copy(
myvec | sliced(1, myvec.size()),
targetvec.begin());
The above example using '|' is my favourite. The other mechanisms will remain supported. The '|' operator is far more readable when one chains adaptors in my opinion, but this is controversial.
Or:
boost::copy(
make_range(myvec, 1, myvec.size())),
targetvec.begin());
In the above IIRC this should be make_sliced_range
or...:
boost::copy(
make_iterator_range( mvec.begin() + 1, myvec.end(),
targetvec.begin() );
The above example isn't compelling, but is indeed legal and works.
I hope this helps,
Neil Groves