Hello. I know how to use write_graphviz_dp with vertices and edges bundle properties but i can't figure out how to print the graph_bundle property of a graph.

i have the following code where the line with the error is commented:

#include <boost/graph/properties.hpp>
#include <boost/graph/graphviz.hpp>
#include <boost/graph/adjacency_list.hpp>

using namespace boost;
using namespace std;

struct VertexInfo
{
    int id;
};

struct EdgeInfo
{
    int weight;
};

struct GraphInfo
{
    int duration;
};

typedef adjacency_list<vecS, vecS, undirectedS, VertexInfo, EdgeInfo, GraphInfo> Graph;

void printGraph(Graph graph, string file)
{
    ofstream ofs(file.c_str());
    dynamic_properties dp;
    dp.property("node_id", get(vertex_index, graph));
    dp.property("label", get(&EdgeInfo::weight, graph));
    ///dp.property("label", get(&graph[graph_bundle].duration));   ->error
    write_graphviz_dp(ofs, graph, dp);
}

int main()
{
    Graph graph;
    Graph::vertex_descriptor a = add_vertex(graph);
    Graph::vertex_descriptor b = add_vertex(graph);
    Graph::vertex_descriptor c = add_vertex(graph);
    Graph::vertex_descriptor d = add_vertex(graph);
    Graph::edge_descriptor e1 = (add_edge(a, b, graph)).first;
    Graph::edge_descriptor e2 = (add_edge(b, c, graph)).first;
    Graph::edge_descriptor e3 = (add_edge(c, d, graph)).first;
    Graph::edge_descriptor e4 = (add_edge(d, a, graph)).first;
    graph[e1].weight = 1.1;
    graph[e2].weight = 1.5;
    graph[e3].weight = 5.2;
    graph[e4].weight = 1.2;
    graph[graph_bundle].duration = 10;

    printGraph(graph, "graph.dot");

}