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

source code of boost/libs/graph/test/graph_concepts.cpp