All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ndn::Exclude Class Reference

Class to represent Exclude component in NDN interests. More...

#include <exclude.hpp>

Data Structures

class  Error
 

Public Types

typedef std::map
< name::Component, bool,
std::greater< name::Component > > 
exclude_type
 
typedef exclude_type::iterator iterator
 
typedef
exclude_type::const_iterator 
const_iterator
 
typedef
exclude_type::reverse_iterator 
reverse_iterator
 
typedef
exclude_type::const_reverse_iterator 
const_reverse_iterator
 

Public Member Functions

 Exclude ()
 Default constructor an empty exclude. More...
 
 Exclude (const Block &wire)
 Create from wire encoding. More...
 
template<bool T>
size_t wireEncode (EncodingImpl< T > &block) const
 Fast encoding or block size estimation. More...
 
const BlockwireEncode () const
 Encode to a wire format. More...
 
void wireDecode (const Block &wire)
 Decode from the wire format. More...
 
bool isExcluded (const name::Component &comp) const
 Check if name component is excluded. More...
 
ExcludeexcludeOne (const name::Component &comp)
 Exclude specific name component. More...
 
ExcludeexcludeRange (const name::Component &from, const name::Component &to)
 Exclude components from range [from, to]. More...
 
ExcludeexcludeBefore (const name::Component &to)
 Exclude all components from range [/, to]. More...
 
ExcludeexcludeAfter (const name::Component &from)
 Exclude all components from range [from, +Inf]. More...
 
void appendExclude (const name::Component &name, bool any)
 Method to directly append exclude element. More...
 
bool empty () const
 Check if exclude filter is empty. More...
 
void clear ()
 Clear the exclude filter. More...
 
size_t size () const
 Get number of exclude terms. More...
 
const_iterator begin () const
 Get begin iterator of the exclude terms. More...
 
const_iterator end () const
 Get end iterator of the exclude terms. More...
 
const_reverse_iterator rbegin () const
 Get begin iterator of the exclude terms. More...
 
const_reverse_iterator rend () const
 Get end iterator of the exclude terms. More...
 
std::string toUri () const
 Get escaped string representation (e.g., for use in URI) of the exclude filter. More...
 

Detailed Description

Class to represent Exclude component in NDN interests.

Definition at line 21 of file exclude.hpp.

Member Typedef Documentation

typedef exclude_type::const_iterator ndn::Exclude::const_iterator

Definition at line 37 of file exclude.hpp.

typedef exclude_type::const_reverse_iterator ndn::Exclude::const_reverse_iterator

Definition at line 39 of file exclude.hpp.

typedef std::map< name::Component, bool , std::greater<name::Component> > ndn::Exclude::exclude_type

Definition at line 34 of file exclude.hpp.

typedef exclude_type::iterator ndn::Exclude::iterator

Definition at line 36 of file exclude.hpp.

typedef exclude_type::reverse_iterator ndn::Exclude::reverse_iterator

Definition at line 38 of file exclude.hpp.

Constructor & Destructor Documentation

ndn::Exclude::Exclude ( )

Default constructor an empty exclude.

Definition at line 16 of file exclude.cpp.

ndn::Exclude::Exclude ( const Block wire)
inlineexplicit

Create from wire encoding.

Definition at line 50 of file exclude.hpp.

Member Function Documentation

void ndn::Exclude::appendExclude ( const name::Component name,
bool  any 
)
inline

Method to directly append exclude element.

Parameters
nameexcluded name component
anyflag indicating if there is a postfix ANY component after the name

This method is used during conversion from wire format of exclude filter

If there is an error with ranges (e.g., order of components is wrong) an exception is thrown

Definition at line 197 of file exclude.hpp.

Exclude::const_iterator ndn::Exclude::begin ( ) const
inline

Get begin iterator of the exclude terms.

Definition at line 222 of file exclude.hpp.

void ndn::Exclude::clear ( )
inline

Clear the exclude filter.

Definition at line 209 of file exclude.hpp.

bool ndn::Exclude::empty ( ) const
inline

Check if exclude filter is empty.

Definition at line 203 of file exclude.hpp.

Exclude::const_iterator ndn::Exclude::end ( ) const
inline

Get end iterator of the exclude terms.

Definition at line 228 of file exclude.hpp.

Exclude & ndn::Exclude::excludeAfter ( const name::Component from)

Exclude all components from range [from, +Inf].

Parameters
tolast element of the range
Returns
*this to allow chaining

Definition at line 122 of file exclude.cpp.

Exclude & ndn::Exclude::excludeBefore ( const name::Component to)
inline

Exclude all components from range [/, to].

Parameters
tolast element of the range
Returns
*this to allow chaining

Definition at line 191 of file exclude.hpp.

Exclude & ndn::Exclude::excludeOne ( const name::Component comp)

Exclude specific name component.

Parameters
compcomponent to exclude
Returns
*this to allow chaining

Definition at line 48 of file exclude.cpp.

Exclude & ndn::Exclude::excludeRange ( const name::Component from,
const name::Component to 
)

Exclude components from range [from, to].

Parameters
fromfirst element of the range
tolast element of the range
Returns
*this to allow chaining

Definition at line 86 of file exclude.cpp.

bool ndn::Exclude::isExcluded ( const name::Component comp) const

Check if name component is excluded.

Parameters
compName component to check against exclude filter

Definition at line 33 of file exclude.cpp.

Exclude::const_reverse_iterator ndn::Exclude::rbegin ( ) const
inline

Get begin iterator of the exclude terms.

Definition at line 234 of file exclude.hpp.

Exclude::const_reverse_iterator ndn::Exclude::rend ( ) const
inline

Get end iterator of the exclude terms.

Definition at line 240 of file exclude.hpp.

size_t ndn::Exclude::size ( ) const
inline

Get number of exclude terms.

Definition at line 216 of file exclude.hpp.

std::string ndn::Exclude::toUri ( ) const
inline

Get escaped string representation (e.g., for use in URI) of the exclude filter.

Definition at line 246 of file exclude.hpp.

void ndn::Exclude::wireDecode ( const Block wire)
inline

Decode from the wire format.

Definition at line 296 of file exclude.hpp.

template<bool T>
size_t ndn::Exclude::wireEncode ( EncodingImpl< T > &  block) const
inline

Fast encoding or block size estimation.

Definition at line 255 of file exclude.hpp.

const Block & ndn::Exclude::wireEncode ( ) const
inline

Encode to a wire format.

Definition at line 280 of file exclude.hpp.