7 #include <boost/foreach.hpp>
8 #include <boost/tuple/tuple.hpp>
11 #include "ifmap/ifmap_log_types.h"
19 if (exclude_vertex.find(node->
table()->
Typename()) != exclude_vertex.end()) {
30 VertexEdgeMap::const_iterator it = exclude_edge.find(node->
table()->
Typename());
31 if (it == exclude_edge.end())
return true;
33 if (it->second.find(link->
name()) != it->second.end()) {
48 if (include_vertex.find(node->
table()->
Typename()) != include_vertex.end()) {
58 VertexEdgeMap::const_iterator it = include_vertex.find(node->
table()->
Typename());
59 assert(it != include_vertex.end());
60 return std::make_pair(
false, it->second);
67 VertexEdgeMap::const_iterator it = include_vertex.find(node->
table()->
Typename());
68 if (it == include_vertex.end()) {
69 IFMAP_WARN(IFMapIdentifierNotFound,
"Cant find vertex",
74 if (it->second.find(link->
name()) != it->second.end()) {
virtual AllowedEdgeRetVal AllowedEdges(const DBGraphVertex *source) const
virtual const char * Typename() const =0
virtual bool EdgeFilter(const DBGraphVertex *source, const DBGraphVertex *target, const DBGraphEdge *edge) const
std::set< std::string > AllowedEdgeSet
std::pair< bool, AllowedEdgeSet > AllowedEdgeRetVal
virtual bool EdgeFilter(const DBGraphVertex *source, const DBGraphVertex *target, const DBGraphEdge *edge) const
virtual const std::string & name() const
#define IFMAP_WARN(obj,...)
virtual bool VertexFilter(const DBGraphVertex *vertex) const
virtual AllowedEdgeRetVal AllowedEdges(const DBGraphVertex *source) const
virtual bool VertexFilter(const DBGraphVertex *vertex) const