22 #ifndef NDN_INTEREST_FILTER_HPP 23 #define NDN_INTEREST_FILTER_HPP 29 class RegexPatternListMatcher;
38 class Error :
public std::runtime_error
41 using std::runtime_error::runtime_error;
98 operator const Name&()
const;
115 return m_regexFilter !=
nullptr;
121 return *m_regexFilter;
129 return m_allowsLoopback;
140 m_allowsLoopback = wantLoopback;
146 shared_ptr<RegexPatternListMatcher> m_regexFilter;
147 bool m_allowsLoopback =
true;
155 #endif // NDN_INTEREST_FILTER_HPP
bool doesMatch(const Name &name) const
Check if specified Interest name matches the filter.
const RegexPatternListMatcher & getRegexFilter() const
InterestFilter & allowLoopback(bool wantLoopback)
Set whether Interest loopback is allowed.
std::ostream & operator<<(std::ostream &os, const Data &data)
declares the set of Interests a producer can serve, which starts with a name prefix, plus an optional regular expression
const Name & getPrefix() const
bool allowsLoopback() const
Get whether Interest loopback is allowed.
Represents an absolute name.
InterestFilter(const Name &prefix)
Construct an InterestFilter to match Interests by prefix.
bool hasRegexFilter() const