Represents Exclude selector in NDN Interest. More...
#include <exclude.hpp>
Classes | |
class | const_iterator |
class | Error |
class | ExcludeComponent |
either a name::Component or "negative infinity" More... | |
class | Range |
represent an excluded component or range More... | |
Public Types | |
typedef std::map< ExcludeComponent, bool, std::greater< ExcludeComponent > > | ExcludeMap |
a map of exclude entries More... | |
typedef ExcludeMap::value_type | Entry |
Public Member Functions | |
Exclude () | |
Constructs an empty Exclude. More... | |
Exclude (const Block &wire) | |
Create from wire encoding. More... | |
template<encoding::Tag TAG> | |
size_t | wireEncode (EncodingImpl< TAG > &encoder) const |
Fast encoding or block size estimation. More... | |
const Block & | wireEncode () const |
Encode to a wire format. More... | |
void | wireDecode (const Block &wire) |
Decode from the wire format. More... | |
std::string | toUri () const |
Get escaped string representation (e.g., for use in URI) of the exclude filter. More... | |
bool | isExcluded (const name::Component &comp) const |
Check if name component is excluded. More... | |
Exclude & | excludeOne (const name::Component &comp) |
Exclude specific name component. More... | |
Exclude & | excludeRange (const name::Component &from, const name::Component &to) |
Exclude components in range [from, to]. More... | |
Exclude & | excludeBefore (const name::Component &to) |
Exclude all components in range (-Inf, to]. More... | |
Exclude & | excludeAfter (const name::Component &from) |
Exclude all components in range [from, +Inf) More... | |
bool | operator== (const Exclude &other) const |
bool | operator!= (const Exclude &other) const |
const_iterator | begin () const |
const_iterator | end () const |
bool | empty () const |
size_t | size () const |
void | clear () |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Exclude &name) |
Represents Exclude selector in NDN Interest.
Definition at line 38 of file exclude.hpp.
typedef std::map<ExcludeComponent, bool, std::greater<ExcludeComponent> > ndn::Exclude::ExcludeMap |
a map of exclude entries
Each key, except "negative infinity", is a name component that is excluded. The mapped boolean indicates whether the range between a key and the next greater key is also excluded. If true, the wire encoding shall have an ANY element.
The map is ordered in descending order to simplify isExcluded
.
Definition at line 170 of file exclude.hpp.
typedef ExcludeMap::value_type ndn::Exclude::Entry |
Definition at line 171 of file exclude.hpp.
|
default |
Constructs an empty Exclude.
Referenced by ndn::Exclude::Error::Error().
|
explicit |
size_t ndn::Exclude::wireEncode | ( | EncodingImpl< TAG > & | encoder | ) | const |
Fast encoding or block size estimation.
Definition at line 107 of file exclude.cpp.
References ndn::tlv::Any, ndn::tlv::Exclude, and ndn::encoding::prependEmptyBlock().
Referenced by ndn::Selectors::wireEncode().
const Block & ndn::Exclude::wireEncode | ( | ) | const |
Encode to a wire format.
Definition at line 139 of file exclude.cpp.
Referenced by ndn::Exclude::Error::Error().
void ndn::Exclude::wireDecode | ( | const Block & | wire | ) |
Decode from the wire format.
Definition at line 155 of file exclude.cpp.
References ndn::tlv::Any, clear(), ndn::Exclude::ExcludeComponent::component, ndn::tlv::Exclude, ndn::Block::parse(), and ndn::Block::type().
Referenced by ndn::Exclude::Error::Error(), Exclude(), and ndn::Selectors::wireDecode().
std::string ndn::Exclude::toUri | ( | ) | const |
Get escaped string representation (e.g., for use in URI) of the exclude filter.
Definition at line 339 of file exclude.cpp.
Referenced by ndn::Exclude::Error::Error().
bool ndn::Exclude::isExcluded | ( | const name::Component & | comp | ) | const |
Check if name component is excluded.
comp | Name component to check against exclude filter |
Definition at line 217 of file exclude.cpp.
Referenced by ndn::Exclude::Error::Error(), excludeOne(), ndn::Interest::matchesData(), and ndn::Interest::matchesName().
Exclude & ndn::Exclude::excludeOne | ( | const name::Component & | comp | ) |
Exclude specific name component.
comp | component to exclude |
Definition at line 226 of file exclude.cpp.
References isExcluded().
Referenced by ndn::Exclude::Error::Error().
Exclude & ndn::Exclude::excludeRange | ( | const name::Component & | from, |
const name::Component & | to | ||
) |
Exclude components in range [from, to].
from | first element of the range |
to | last element of the range |
Error | from equals or comes after to in canonical ordering |
Definition at line 242 of file exclude.cpp.
References ndn::Exclude::ExcludeComponent::component, ndn::Exclude::ExcludeComponent::ExcludeComponent(), ndn::Exclude::ExcludeComponent::isNegInf, and ndn::name::Component::toUri().
Referenced by ndn::Exclude::Error::Error(), and excludeBefore().
Exclude & ndn::Exclude::excludeBefore | ( | const name::Component & | to | ) |
Exclude all components in range (-Inf, to].
to | last element of the range |
Definition at line 236 of file exclude.cpp.
References ndn::Exclude::ExcludeComponent::ExcludeComponent(), and excludeRange().
Referenced by ndn::Exclude::Error::Error().
Exclude & ndn::Exclude::excludeAfter | ( | const name::Component & | from | ) |
Exclude all components in range [from, +Inf)
from | the first element of the range |
Definition at line 296 of file exclude.cpp.
Referenced by ndn::Exclude::Error::Error().
bool ndn::Exclude::operator== | ( | const Exclude & | other | ) | const |
Definition at line 347 of file exclude.cpp.
Referenced by ndn::Exclude::Error::Error(), ndn::Exclude::Range::operator!=(), and ndn::Exclude::const_iterator::operator!=().
|
inline |
Definition at line 323 of file exclude.hpp.
Referenced by ndn::Exclude::Error::Error().
|
inline |
Definition at line 305 of file exclude.hpp.
Referenced by size().
|
inline |
Definition at line 311 of file exclude.hpp.
Referenced by size().
|
inline |
Definition at line 317 of file exclude.hpp.
Referenced by ndn::Selectors::empty(), ndn::Interest::matchesData(), ndn::Interest::matchesName(), and ndn::operator<<().
size_t ndn::Exclude::size | ( | ) | const |
Definition at line 353 of file exclude.cpp.
void ndn::Exclude::clear | ( | ) |
Definition at line 359 of file exclude.cpp.
Referenced by wireDecode().
|
friend |
Definition at line 318 of file exclude.cpp.