Represents Exclude selector in NDN Interest. More...
#include <ndn-cxx/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 ExcludeMap::value_type | Entry |
typedef std::map< ExcludeComponent, bool, std::greater< ExcludeComponent > > | ExcludeMap |
a map of exclude entries More... | |
Public Member Functions | |
Exclude () | |
Constructs an empty Exclude. More... | |
Exclude (const Block &wire) | |
Create from wire encoding. More... | |
const_iterator | begin () const |
void | clear () |
bool | empty () const |
const_iterator | end () const |
Exclude & | excludeAfter (const name::Component &from) |
Exclude all components in range [from, +Inf) More... | |
Exclude & | excludeBefore (const name::Component &to) |
Exclude all components in range (-Inf, to]. 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... | |
bool | isExcluded (const name::Component &comp) const |
Check if name component is excluded. More... | |
bool | operator!= (const Exclude &other) const |
bool | operator== (const Exclude &other) const |
size_t | size () const |
std::string | toUri () const |
Get escaped string representation (e.g., for use in URI) of the exclude filter. More... | |
void | wireDecode (const Block &wire) |
Decode from the wire format. 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... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Exclude &name) |
Represents Exclude selector in NDN Interest.
NDN Packet Format v0.3 defines name component types other than GenericNameComponent and ImplicitSha256DigestComponent, and removes Exclude selector. This implementation follows v0.2 semantics and can only store GenericNameComponent and ImplicitSha256DigestComponent. The behavior of isExcluded
on a name component of other types is unspecified.
Definition at line 43 of file exclude.hpp.
typedef ExcludeMap::value_type ndn::Exclude::Entry |
Definition at line 172 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 171 of file exclude.hpp.
|
default |
Constructs an empty Exclude.
|
explicit |
Create from wire encoding.
Definition at line 115 of file exclude.cpp.
|
inline |
Definition at line 318 of file exclude.hpp.
void ndn::Exclude::clear | ( | ) |
Definition at line 367 of file exclude.cpp.
|
inline |
Definition at line 330 of file exclude.hpp.
|
inline |
Definition at line 324 of file exclude.hpp.
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 310 of file exclude.cpp.
Exclude & ndn::Exclude::excludeBefore | ( | const name::Component & | to | ) |
Exclude all components in range (-Inf, to].
to | last element of the range |
Definition at line 250 of file exclude.cpp.
Exclude & ndn::Exclude::excludeOne | ( | const name::Component & | comp | ) |
Exclude specific name component.
comp | component to exclude |
Definition at line 240 of file exclude.cpp.
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 256 of file exclude.cpp.
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 231 of file exclude.cpp.
|
inline |
Definition at line 336 of file exclude.hpp.
bool ndn::Exclude::operator== | ( | const Exclude & | other | ) | const |
Definition at line 355 of file exclude.cpp.
size_t ndn::Exclude::size | ( | ) | const |
Definition at line 361 of file exclude.cpp.
std::string ndn::Exclude::toUri | ( | ) | const |
Get escaped string representation (e.g., for use in URI) of the exclude filter.
Definition at line 347 of file exclude.cpp.
void ndn::Exclude::wireDecode | ( | const Block & | wire | ) |
Decode from the wire format.
Definition at line 166 of file exclude.cpp.
size_t ndn::Exclude::wireEncode | ( | EncodingImpl< TAG > & | encoder | ) | const |
Fast encoding or block size estimation.
Definition at line 122 of file exclude.cpp.
const Block & ndn::Exclude::wireEncode | ( | ) | const |
Encode to a wire format.
Definition at line 150 of file exclude.cpp.
|
friend |
Definition at line 332 of file exclude.cpp.