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 | |
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 | |