• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //=======================================================================
2 // Copyright 2002 Indiana University.
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 
10 #ifndef BOOST_GRAPH_SELECTORS_HPP
11 #define BOOST_GRAPH_SELECTORS_HPP
12 
13 #include <boost/mpl/bool.hpp>
14 
15 namespace boost
16 {
17 
18 //===========================================================================
19 // Selectors for the Directed template parameter of adjacency_list
20 // and adjacency_matrix.
21 
22 struct directedS
23 {
24     enum
25     {
26         is_directed = true,
27         is_bidir = false
28     };
29     typedef mpl::true_ is_directed_t;
30     typedef mpl::false_ is_bidir_t;
31 };
32 struct undirectedS
33 {
34     enum
35     {
36         is_directed = false,
37         is_bidir = false
38     };
39     typedef mpl::false_ is_directed_t;
40     typedef mpl::false_ is_bidir_t;
41 };
42 struct bidirectionalS
43 {
44     enum
45     {
46         is_directed = true,
47         is_bidir = true
48     };
49     typedef mpl::true_ is_directed_t;
50     typedef mpl::true_ is_bidir_t;
51 };
52 
53 } // namespace boost
54 
55 #endif // BOOST_GRAPH_SELECTORS_HPP
56