Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

libs/graph/example/undirected_graph.cpp

//=======================================================================
// Copyright 2012
// Authors: David Doria
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
//=======================================================================

#include <boost/graph/graph_traits.hpp>
#include <boost/graph/undirected_graph.hpp>

typedef boost::undirected_graph< boost::no_property > Graph;

int main(int, char*[])
{
    // Create a graph object
    Graph g;

    // Add vertices
    boost::graph_traits< Graph >::vertex_descriptor v0 = g.add_vertex();
    boost::graph_traits< Graph >::vertex_descriptor v1 = g.add_vertex();
    boost::graph_traits< Graph >::vertex_descriptor v2 = g.add_vertex();

    // Add edges
    g.add_edge(v0, v1);
    g.add_edge(v1, v2);

    return 0;
}