• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //=======================================================================
2 // Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
3 // Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
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 #include <boost/graph/graph_concepts.hpp>
10 #include <boost/graph/graph_archetypes.hpp>
11 #include <boost/concept/assert.hpp>
12 
main(int,char * [])13 int main(int, char*[])
14 {
15     using namespace boost;
16 
17     // Check graph concepts againt their archetypes
18     typedef default_constructible_archetype<
19         sgi_assignable_archetype< equality_comparable_archetype<> > >
20         Vertex;
21 
22     typedef incidence_graph_archetype< Vertex, directed_tag,
23         allow_parallel_edge_tag >
24         Graph1;
25     BOOST_CONCEPT_ASSERT((IncidenceGraphConcept< Graph1 >));
26 
27     typedef adjacency_graph_archetype< Vertex, directed_tag,
28         allow_parallel_edge_tag >
29         Graph2;
30     BOOST_CONCEPT_ASSERT((AdjacencyGraphConcept< Graph2 >));
31 
32     typedef vertex_list_graph_archetype< Vertex, directed_tag,
33         allow_parallel_edge_tag >
34         Graph3;
35     BOOST_CONCEPT_ASSERT((VertexListGraphConcept< Graph3 >));
36 
37     BOOST_CONCEPT_ASSERT((ColorValueConcept< color_value_archetype >));
38 
39     typedef incidence_graph_archetype< Vertex, directed_tag,
40         allow_parallel_edge_tag >
41         G;
42     typedef property_graph_archetype< G, vertex_color_t, color_value_archetype >
43         Graph4;
44     BOOST_CONCEPT_ASSERT(
45         (PropertyGraphConcept< Graph4, Vertex, vertex_color_t >));
46 
47     return 0;
48 }
49