Iterator adaptors

Generic algorithms for performing various operations on containers.