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<> > > Vertex;
20
21 typedef incidence_graph_archetype<Vertex, directed_tag,
22 allow_parallel_edge_tag> Graph1;
23 BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph1> ));
24
25 typedef adjacency_graph_archetype<Vertex, directed_tag,
26 allow_parallel_edge_tag> Graph2;
27 BOOST_CONCEPT_ASSERT(( AdjacencyGraphConcept<Graph2> ));
28
29 typedef vertex_list_graph_archetype<Vertex, directed_tag,
30 allow_parallel_edge_tag> Graph3;
31 BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph3> ));
32
33 BOOST_CONCEPT_ASSERT(( ColorValueConcept<color_value_archetype> ));
34
35 typedef incidence_graph_archetype<Vertex, directed_tag, allow_parallel_edge_tag> G;
36 typedef property_graph_archetype<G, vertex_color_t, color_value_archetype>
37 Graph4;
38 BOOST_CONCEPT_ASSERT(( PropertyGraphConcept<Graph4, Vertex, vertex_color_t> ));
39
40 return 0;
41 }
42