Hi Alex,
Im getting there, thanks for your help.

One thing that Im getting problems is the definition of the ColorMap.

            typedef boost::default_color_type Color;
            typedef boost::color_traits<Color> color_traits;
            typedef boost::shared_array_property_map<Color> ColorMap;
            ColorMap colorMap(boost::num_vertices(m_ugraph), indexMap);

###
error: wrong number of template arguments (1, should be 2)
In file included from /usr/include/boost/graph/named_function_params.hpp:25:0,
                 from /usr/include/boost/graph/breadth_first_search.hpp:23,
                 from ../graph.h:22,
                 from ../graph.cpp:1:
/usr/include/boost/property_map/shared_array_property_map.hpp:19:7: error: provided for 'template<class T, class IndexMap> class boost::shared_array_property_map'
../graph.cpp:1064:69: error: invalid type in declaration before ';' token
../graph.cpp:1065:70: error: expression list treated as compound expression in initializer [-fpermissive]
../graph.cpp:1065:70: error: cannot convert 'IndexMap {aka boost::vec_adj_list_vertex_id_map<VertexProperties, long unsigned int>}' to 'ColorMap {aka int}' in initialization
../graph.cpp:1089:44: error: no matching function for call to 'put(ColorMap&, boost::graph_traits<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, VertexProperties, EdgeProperties> >::vertex_descriptor&, Color&)'
###