2
0
mirror of https://github.com/boostorg/graph.git synced 2026-01-30 07:52:10 +00:00

added traversal category

[SVN r9666]
This commit is contained in:
Jeremy Siek
2001-03-29 01:36:46 +00:00
parent 850f2b1e7d
commit 19ed2331fd

View File

@@ -396,7 +396,9 @@ namespace boost {
template <class Config>
struct directed_graph_helper
: public directed_edges_helper<Config> { };
: public directed_edges_helper<Config> {
typedef vertex_and_edge_list_graph_tag traversal_category;
};
// O(E/V)
template <class Config>
@@ -512,6 +514,10 @@ namespace boost {
template <class Config>
struct undirected_graph_helper;
struct undir_adj_list_traversal_tag :
public virtual vertex_and_edge_list_graph_tag,
public virtual bidirectional_graph_tag { };
namespace detail {
// O(E/V)
template <class edge_descriptor, class Config, class StoredProperty>
@@ -616,6 +622,8 @@ namespace boost {
template <class Config>
struct undirected_graph_helper {
typedef undir_adj_list_traversal_tag traversal_category;
// Placement of these overloaded remove_edge() functions
// inside the class avoids a VC++ bug.
@@ -821,9 +829,15 @@ namespace boost {
//=========================================================================
// Bidirectional Graph Helper Class
struct bidir_adj_list_traversal_tag :
public virtual vertex_and_edge_list_graph_tag,
public virtual bidirectional_graph_tag { };
template <class Config>
struct bidirectional_graph_helper
: public directed_edges_helper<Config> { };
: public directed_edges_helper<Config> {
typedef bidir_adj_list_traversal_tag traversal_category;
};
template <class Predicate, class Config>
inline void