1 //=======================================================================
2 // Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
3 // Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
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>
13 int main(int, char*[])
15 using namespace boost
;
17 // Check graph concepts againt their archetypes
18 typedef default_constructible_archetype
<
19 sgi_assignable_archetype
< equality_comparable_archetype
<> > >
22 typedef incidence_graph_archetype
< Vertex
, directed_tag
,
23 allow_parallel_edge_tag
>
25 BOOST_CONCEPT_ASSERT((IncidenceGraphConcept
< Graph1
>));
27 typedef adjacency_graph_archetype
< Vertex
, directed_tag
,
28 allow_parallel_edge_tag
>
30 BOOST_CONCEPT_ASSERT((AdjacencyGraphConcept
< Graph2
>));
32 typedef vertex_list_graph_archetype
< Vertex
, directed_tag
,
33 allow_parallel_edge_tag
>
35 BOOST_CONCEPT_ASSERT((VertexListGraphConcept
< Graph3
>));
37 BOOST_CONCEPT_ASSERT((ColorValueConcept
< color_value_archetype
>));
39 typedef incidence_graph_archetype
< Vertex
, directed_tag
,
40 allow_parallel_edge_tag
>
42 typedef property_graph_archetype
< G
, vertex_color_t
, color_value_archetype
>
45 (PropertyGraphConcept
< Graph4
, Vertex
, vertex_color_t
>));