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