• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //=======================================================================
2 // Copyright 2009 Trustees of Indiana University.
3 // Authors: Michael Hansen, Andrew Lumsdaine
4 //
5 // Distributed under the Boost Software License, Version 1.0. (See
6 // accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
8 //=======================================================================
9 
10 #include <boost/graph/graph_archetypes.hpp>
11 #include <boost/graph/graph_concepts.hpp>
12 #include <boost/graph/grid_graph.hpp>
13 #include <boost/concept/assert.hpp>
14 
15 using namespace boost;
16 
check()17 template < unsigned int Dims > void check()
18 {
19     typedef grid_graph< Dims > Graph;
20     typedef typename graph_traits< Graph >::vertex_descriptor Vertex;
21     typedef typename graph_traits< Graph >::edge_descriptor Edge;
22 
23     BOOST_CONCEPT_ASSERT((BidirectionalGraphConcept< Graph >));
24     BOOST_CONCEPT_ASSERT((VertexListGraphConcept< Graph >));
25     BOOST_CONCEPT_ASSERT((EdgeListGraphConcept< Graph >));
26     BOOST_CONCEPT_ASSERT((IncidenceGraphConcept< Graph >));
27     BOOST_CONCEPT_ASSERT((AdjacencyGraphConcept< Graph >));
28     BOOST_CONCEPT_ASSERT((AdjacencyMatrixConcept< Graph >));
29     BOOST_CONCEPT_ASSERT(
30         (ReadablePropertyGraphConcept< Graph, Vertex, vertex_index_t >));
31     BOOST_CONCEPT_ASSERT(
32         (ReadablePropertyGraphConcept< Graph, Edge, edge_index_t >));
33 }
34 
main(int,char * [])35 int main(int, char*[])
36 {
37     check< 0 >();
38     check< 1 >();
39     check< 2 >();
40     check< 3 >();
41     check< 4 >();
42 
43     return (0);
44 }
45