// number of vertices in the graph
static const unsigned N = 5;
-template <typename Graph>
-struct vertex_vector
+template < typename Graph > struct vertex_vector
{
- typedef graph_traits<Graph> traits;
- typedef vector<typename traits::vertex_descriptor> type;
+ typedef graph_traits< Graph > traits;
+ typedef vector< typename traits::vertex_descriptor > type;
};
-template <typename Graph>
-void build_graph(Graph& g,
- typename vertex_vector<Graph>::type& v)
+template < typename Graph >
+void build_graph(Graph& g, typename vertex_vector< Graph >::type& v)
{
// add vertices
- for(size_t i = 0; i < N; ++i) {
+ for (size_t i = 0; i < N; ++i)
+ {
v[i] = add_vertex(g);
}
add_edge(v[4], v[0], g);
}
-
-template <typename Graph>
-void test_undirected()
+template < typename Graph > void test_undirected()
{
- typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
- typedef typename graph_traits<Graph>::edge_descriptor Edge;
+ typedef typename graph_traits< Graph >::vertex_descriptor Vertex;
+ typedef typename graph_traits< Graph >::edge_descriptor Edge;
- typedef exterior_vertex_property<Graph, double> CentralityProperty;
+ typedef exterior_vertex_property< Graph, double > CentralityProperty;
typedef typename CentralityProperty::container_type CentralityContainer;
typedef typename CentralityProperty::map_type CentralityMap;
- typedef exterior_vertex_property<Graph, int> DistanceProperty;
+ typedef exterior_vertex_property< Graph, int > DistanceProperty;
typedef typename DistanceProperty::matrix_type DistanceMatrix;
typedef typename DistanceProperty::matrix_map_type DistanceMatrixMap;
- typedef constant_property_map<Edge, int> WeightMap;
+ typedef constant_property_map< Edge, int > WeightMap;
Graph g;
- vector<Vertex> v(N);
+ vector< Vertex > v(N);
build_graph(g, v);
CentralityContainer centralities(num_vertices(g));
floyd_warshall_all_pairs_shortest_paths(g, dm, weight_map(wm));
all_closeness_centralities(g, dm, cm);
- BOOST_ASSERT(cm[v[0]] == double(1)/5);
- BOOST_ASSERT(cm[v[1]] == double(1)/7);
- BOOST_ASSERT(cm[v[2]] == double(1)/7);
- BOOST_ASSERT(cm[v[3]] == double(1)/9);
- BOOST_ASSERT(cm[v[4]] == double(1)/6);
+ BOOST_ASSERT(cm[v[0]] == double(1) / 5);
+ BOOST_ASSERT(cm[v[1]] == double(1) / 7);
+ BOOST_ASSERT(cm[v[2]] == double(1) / 7);
+ BOOST_ASSERT(cm[v[3]] == double(1) / 9);
+ BOOST_ASSERT(cm[v[4]] == double(1) / 6);
}
-template <typename Graph>
-void test_directed()
+template < typename Graph > void test_directed()
{
- typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
- typedef typename graph_traits<Graph>::edge_descriptor Edge;
+ typedef typename graph_traits< Graph >::vertex_descriptor Vertex;
+ typedef typename graph_traits< Graph >::edge_descriptor Edge;
- typedef exterior_vertex_property<Graph, double> CentralityProperty;
+ typedef exterior_vertex_property< Graph, double > CentralityProperty;
typedef typename CentralityProperty::container_type CentralityContainer;
typedef typename CentralityProperty::map_type CentralityMap;
- typedef exterior_vertex_property<Graph, int> DistanceProperty;
+ typedef exterior_vertex_property< Graph, int > DistanceProperty;
typedef typename DistanceProperty::matrix_type DistanceMatrix;
typedef typename DistanceProperty::matrix_map_type DistanceMatrixMap;
- typedef constant_property_map<Edge, int> WeightMap;
+ typedef constant_property_map< Edge, int > WeightMap;
Graph g;
- vector<Vertex> v(N);
+ vector< Vertex > v(N);
build_graph(g, v);
CentralityContainer centralities(num_vertices(g));
BOOST_ASSERT(cm[v[0]] == double(0));
BOOST_ASSERT(cm[v[1]] == double(0));
BOOST_ASSERT(cm[v[2]] == double(0));
- BOOST_ASSERT(cm[v[3]] == double(1)/10);
+ BOOST_ASSERT(cm[v[3]] == double(1) / 10);
BOOST_ASSERT(cm[v[4]] == double(0));
}
-int
-main(int, char *[])
+int main(int, char*[])
{
typedef undirected_graph<> Graph;
typedef directed_graph<> Digraph;
- test_undirected<Graph>();
- test_directed<Digraph>();
+ test_undirected< Graph >();
+ test_directed< Digraph >();
}