2
0
mirror of https://github.com/boostorg/graph.git synced 2026-01-19 16:22:14 +00:00
Files
graph/example/labeled_graph.cpp
2025-07-20 17:51:15 +02:00

75 lines
1.5 KiB
C++

// (C) Copyright 2009 Andrew Sutton
//
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0 (See accompanying file
// LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
/*
IMPORTANT!!!
~~~~~~~~~~~~
This example does not compile, see
https://github.com/boostorg/graph/issues/147
*/
#include <iostream>
#include <string>
#include <boost/graph/directed_graph.hpp>
#include <boost/graph/labeled_graph.hpp>
using namespace boost;
using namespace std;
int main()
{
using namespace boost::graph_detail;
using Digraph = directed_graph<>;
{
using Graph = labeled_graph< Digraph, unsigned >;
Graph g;
add_vertex(1, g);
add_vertex(2, g);
Graph h(12);
}
{
using Graph = labeled_graph< Digraph, string >;
Graph g;
add_vertex("foo", g);
add_vertex("bar", g);
}
{
using Graph = labeled_graph< Digraph, string, mapS >;
Graph g;
add_vertex("foo", g);
add_vertex("bar", g);
add_vertex("foo", g);
}
{
using TempGraph = labeled_graph< Digraph*, int >;
Digraph g;
TempGraph h(&g);
add_vertex(12, h);
}
{
// This is actually a fairly complicated specialization.
using G = adjacency_list< vecS, vecS, bidirectionalS >;
using Graph = labeled_graph< G, size_t >;
Graph g;
add_vertex(0, g);
add_vertex(1, g);
g.add_edge(0, 1);
}
return 0;
}