PropertyWriter epw,
               GraphPropertyWriter gpw);

template &lt; typename VertexAndEdgeListGraph, typename VertexPropertyWriter,
           typename EdgePropertyWriter, typename GraphPropertyWriter,
           typename VertexID &gt;
void
write_graphviz(std::ostream&amp; out, const VertexAndEdgeListGraph&amp; g,
               VertexPropertyWriter vpw, EdgePropertyWriter epw,
               GraphPropertyWriter gpw, VertexID vertex_id);

// Graph structure with dynamic property output
template&lt;t