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