added line iterator
use boost::iterator_facade for iterators