Another coding question. Can I write this loop another, more elegant way? Angus
// visible contains pointers to the first and last rows visible in // the BufferView std::pair<Row const *, Row const *> visible = ... bool running = true; for (Row const * row = visible.first; running; row = row->next()) { do what you want to do... running = row != visible.second; }