24 #ifndef NDN_EXCLUDE_HPP 25 #define NDN_EXCLUDE_HPP 49 using tlv::Error::Error;
66 template<encoding::Tag TAG>
171 typedef std::map<ExcludeComponent, bool, std::greater<ExcludeComponent>>
ExcludeMap;
172 typedef ExcludeMap::value_type
Entry;
233 const_iterator(ExcludeMap::const_reverse_iterator it, ExcludeMap::const_reverse_iterator rend);
258 ExcludeMap::const_reverse_iterator m_it;
259 ExcludeMap::const_reverse_iterator m_rend;
290 appendEntry(
const T& component,
bool hasAny);
297 mutable Block m_wire;
332 return m_entries.empty();
338 return !(*
this == other);
356 BOOST_ASSERT(m_it != m_rend);
363 BOOST_ASSERT(m_it != m_rend);
370 return m_it == other.m_it;
381 #endif // NDN_EXCLUDE_HPP std::string toUri() const
Get escaped string representation (e.g., for use in URI) of the exclude filter.
bool operator==(const Exclude::Range &other) const
Copyright (c) 2011-2015 Regents of the University of California.
Exclude & excludeBefore(const name::Component &to)
Exclude all components in range (-Inf, to].
friend std::ostream & operator<<(std::ostream &os, const Exclude &name)
either a name::Component or "negative infinity"
represent an excluded component or range
const_iterator & operator++()
std::ostream & operator<<(std::ostream &os, const Data &data)
name::Component from
from component (inclusive)
bool toInfinity
to positive infinity?
const_iterator end() const
Represents a TLV element of NDN packet format.
reference operator *() const
Exclude()
Constructs an empty Exclude.
void wireDecode(const Block &wire)
Decode from the wire format.
Exclude & excludeOne(const name::Component &comp)
Exclude specific name component.
const Block & wireEncode() const
Encode to a wire format.
ExcludeMap::value_type Entry
bool operator==(const const_iterator &other) const
std::ptrdiff_t difference_type
std::map< ExcludeComponent, bool, std::greater< ExcludeComponent > > ExcludeMap
a map of exclude entries
bool fromInfinity
from negative infinity?
NDN_CXX_DECLARE_WIRE_ENCODE_INSTANTIATIONS(Exclude)
name::Component to
to component (inclusive)
std::forward_iterator_tag iterator_category
bool operator>(const Delegation &lhs, const Delegation &rhs)
Represents a name component.
boost::iterator_range< Iterator > Range
a Forward Range of name tree entries
pointer operator->() const
name::Component component
Exclude & excludeAfter(const name::Component &from)
Exclude all components in range [from, +Inf)
bool operator==(const Data &lhs, const Data &rhs)
bool isExcluded(const name::Component &comp) const
Check if name component is excluded.
Exclude & excludeRange(const name::Component &from, const name::Component &to)
Exclude components in range [from, to].
bool operator==(const Exclude &other) const
const_iterator begin() const
bool operator!=(const Exclude::Range &other) const
ExcludeComponent(const name::Component &component)
implicitly construct a regular infinity ExcludeComponent
represents an error in TLV encoding or decoding
Represents Exclude selector in NDN Interest.
bool operator!=(const Exclude &other) const
bool operator!=(const const_iterator &other) const