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