5 #ifndef SRC_BGP_ROUTING_POLICY_ROUTING_POLICY_MATCH_H_
6 #define SRC_BGP_ROUTING_POLICY_ROUTING_POLICY_MATCH_H_
28 virtual std::string
ToString()
const = 0;
33 return Match(route, path, attr);
38 if (
typeid(match) ==
typeid(*
this))
58 virtual std::string
ToString()
const;
87 virtual std::string
ToString()
const;
103 const std::string &comm);
130 virtual std::string
ToString()
const;
141 template <
typename T1,
typename T2>
150 template <
typename T>
164 : prefix(prefix), match_type(match_type) {
183 virtual std::string
ToString()
const;
198 #endif // SRC_BGP_ROUTING_POLICY_ROUTING_POLICY_MATCH_H_
virtual bool IsEqual(const RoutingPolicyMatch &community) const
PrefixMatch(PrefixT prefix, MatchType match_type)
virtual bool Match(const BgpRoute *route, const BgpPath *path, const BgpAttr *attr) const
bool operator()(const BgpRoute *route, const BgpPath *path, const BgpAttr *attr) const
virtual bool Match(const BgpRoute *route, const BgpPath *path, const BgpAttr *attr) const =0
MatchProtocol(const std::vector< std::string > &protocols)
virtual bool Match(const BgpRoute *route, const BgpPath *path, const BgpAttr *attr) const
virtual std::string ToString() const
virtual std::string ToString() const
virtual bool IsEqual(const RoutingPolicyMatch &match) const =0
virtual ~RoutingPolicyMatch()
#define BOOL_KEY_COMPARE(x, y)
std::vector< PrefixMatch > PrefixMatchList
std::vector< PrefixMatchConfig > PrefixMatchConfigList
bool operator==(const PrefixMatch &rhs) const
PrefixMatchList match_list_
virtual bool operator!=(const RoutingPolicyMatch &match) const
MatchPrefix< PrefixMatchInet > MatchPrefixInet
const string MatchProtocolToString(MatchProtocol::MatchProtocolType protocol)
virtual std::string ToString() const =0
const PathSourceList & protocols() const
virtual bool IsEqual(const RoutingPolicyMatch &prefix) const
friend class MatchPrefixTest
MatchPrefix(const PrefixMatchConfigList &match_config_list)
PrefixMatchBase< Inet6Route, Inet6Prefix > PrefixMatchInet6
virtual bool operator==(const RoutingPolicyMatch &match) const
PrefixMatchBase< InetRoute, Ip4Prefix > PrefixMatchInet
MatchPrefix< PrefixMatchInet6 > MatchPrefixInet6
std::vector< MatchProtocolType > PathSourceList
bool operator<(const PrefixMatch &rhs) const
static MatchType GetMatchType(const std::string &match_type_str)