Boost.Range

Range Adaptors


uniqued

rng | boost::adaptors::uniqued
boost::make_uniqued_range( rng )

Example

    #include <boost/range/adaptor/uniqued.hpp>
    #include <boost/range/algorithm/copy.hpp>
    #include <boost/assign.hpp>
    #include <algorithm>
    #include <iostream>
    #include <vector>
    
    int main(int argc, const char* argv)
    {
        using namespace boost::assign;
        using namespace boost::adaptors;
        
        std::vector<int> input;
	input += 1,1,2,2,2,3,4,5,6;
        
	boost::copy(
	    input | uniqued,
            std::ostream_iterator<int>(std::cout, ",") );
         
        return 0;
    }
   

This would produce the output:
1,2,3,4,5,6


(C) Copyright Neil Groves 2009 (C) Copyright Thorsten Ottosen 2003-2004