te &lt;class G&gt;
struct vertex_descriptor
{
    typedef typename boost::graph_traits&lt;G&gt;::vertex_descriptor type;
};

template &lt;class G&gt;
struct value_type
{
    typedef typename boost::property_traits&lt;G&gt;::value_type type;
};

template &lt;class G&gt;
struct key_type
{
    typedef typename boost::property_traits&lt;G&gt;::key_type type;
};

template&lt;class Size, class IndexMap&gt;
boost::iterator_property_map&lt;
    boost::default_color_type*, IndexMap
  , boost::default_color_type, boo