
If you are going to convince me iterators are easy to use, you have to
come up
with something better than
typedef amended::transform_iterator< get_empl_name_f, amended::filter_iterator< from_ro_f, std::vector<employee>::const_iterator >
romanian_names_t;
std::copy( romanian_names_t(empls.begin()), romanian_names_t(empls.end()), std::ostream_iterator<std::string>(std::cout," ") );
The problem with iterators, even in Robert's example, is that to further compose them, you need to create wrapper functors (get_empl_name_f, from_ro_f). Again, as I've said in the docs, anything that can be done with function adaptors can be done with iterators. But the results will be more error-prone, harder to write and read. Best, John -- John Torjo, Contributing editor, C/C++ Users Journal -- "Win32 GUI Generics" -- generics & GUI do mix, after all -- http://www.torjo.com/win32gui/ -- v1.5 - tooltips at your fingertips (work for menus too!) + bitmap buttons (work for MessageBox too!) + tab dialogs, hyper links, lite html