Classes | |
struct | AnyEntry |
an EntrySelector that accepts every Entry More... | |
struct | AnyEntrySubTree |
an EntrySubTreeSelector that accepts every Entry and its children More... | |
class | Entry |
an entry in the name tree More... | |
class | EnumerationImpl |
enumeration operation implementation More... | |
class | FullEnumerationImpl |
full enumeration implementation More... | |
class | GetTableEntry |
a functor to get a table entry from a name tree entry More... | |
class | Hash32 |
class | Hash64 |
class | Hashtable |
a hashtable for fast exact name lookup More... | |
class | HashtableOptions |
provides options for Hashtable More... | |
class | Iterator |
NameTree iterator. More... | |
class | NameTree |
a common index structure for FIB, PIT, StrategyChoice, and Measurements More... | |
class | Node |
a hashtable node More... | |
class | PartialEnumerationImpl |
partial enumeration implementation More... | |
class | PrefixMatchImpl |
partial enumeration implementation More... | |
Typedefs | |
typedef std::conditional<(sizeof(HashValue) > 4), Hash64, Hash32 >::type | HashFunc |
a type with compute static method to compute hash value from a raw buffer More... | |
typedef size_t | HashValue |
a single hash value More... | |
typedef std::vector< HashValue > | HashSequence |
a sequence of hash values More... | |
typedef function< bool(const Entry &entry)> | EntrySelector |
a predicate to accept or reject an Entry in find operations More... | |
typedef function< std::pair< bool, bool >const Entry &entry)> | EntrySubTreeSelector |
a predicate to accept or reject an Entry and its children More... | |
typedef boost::iterator_range< Iterator > | Range |
a Forward Range of name tree entries More... | |
Functions | |
HashValue | computeHash (const Name &name, ssize_t prefixLen=-1) |
computes a single hash value More... | |
HashSequence | computeHashes (const Name &name) |
computes hash values for each prefix of name More... | |
Node * | getNode (const Entry &entry) |
template<typename N , typename F > | |
void | foreachNode (N *head, const F &func) |
invoke a function for each node in a doubly linked list More... | |
std::ostream & | operator<< (std::ostream &os, const Iterator &i) |
template Entry * | NameTree::findLongestPrefixMatch< fib::Entry > (const fib::Entry &, const EntrySelector &) const |
template Entry * | NameTree::findLongestPrefixMatch< measurements::Entry > (const measurements::Entry &, const EntrySelector &) const |
template Entry * | NameTree::findLongestPrefixMatch< strategy_choice::Entry > (const strategy_choice::Entry &, const EntrySelector &) const |
Variables | |
NameTreeHashtable | |
NameTreeIterator | |
NameTree | |
typedef std::conditional<(sizeof(HashValue) > 4), Hash64, Hash32>::type nfd::name_tree::HashFunc |
a type with compute static method to compute hash value from a raw buffer
Definition at line 57 of file name-tree-hashtable.cpp.
typedef size_t nfd::name_tree::HashValue |
a single hash value
Definition at line 34 of file name-tree-hashtable.hpp.
typedef std::vector<HashValue> nfd::name_tree::HashSequence |
a sequence of hash values
Definition at line 43 of file name-tree-hashtable.hpp.
typedef function<bool(const Entry& entry)> nfd::name_tree::EntrySelector |
a predicate to accept or reject an Entry in find operations
Definition at line 34 of file name-tree-iterator.hpp.
typedef function<std::pair<bool,bool>const Entry& entry)> nfd::name_tree::EntrySubTreeSelector |
a predicate to accept or reject an Entry and its children
Definition at line 55 of file name-tree-iterator.hpp.
typedef boost::iterator_range<Iterator> nfd::name_tree::Range |
a Forward Range of name tree entries
This type has .begin() and .end() methods which return Iterator. This type is usable with range-based for.
Definition at line 203 of file name-tree-iterator.hpp.
computes a single hash value
name | base name |
prefixLen | if non-negative, compute hash value for name.getPrefix(prefixLen); if negative, compute hash value for complete name |
Definition at line 60 of file name-tree-hashtable.cpp.
References ndn::Block::size(), ndn::Name::size(), ndn::Block::wire(), and ndn::Name::wireEncode().
Referenced by nfd::name_tree::Hashtable::find(), and nfd::name_tree::Hashtable::insert().
HashSequence nfd::name_tree::computeHashes | ( | const Name & | name | ) |
computes hash values for each prefix of name
Definition at line 73 of file name-tree-hashtable.cpp.
References ndn::Name::size(), and ndn::Name::wireEncode().
Referenced by nfd::name_tree::NameTree::findLongestPrefixMatch(), and nfd::name_tree::NameTree::lookup().
Definition at line 105 of file name-tree-hashtable.cpp.
Referenced by nfd::name_tree::FullEnumerationImpl::advance(), and nfd::name_tree::NameTree::eraseIfEmpty().
void nfd::name_tree::foreachNode | ( | N * | head, |
const F & | func | ||
) |
invoke a function for each node in a doubly linked list
Definition at line 97 of file name-tree-hashtable.hpp.
References nfd::name_tree::Node::next.
Referenced by nfd::name_tree::Hashtable::erase(), and nfd::name_tree::Hashtable::~Hashtable().
std::ostream & nfd::name_tree::operator<< | ( | std::ostream & | os, |
const Iterator & | i | ||
) |
Definition at line 87 of file name-tree-iterator.cpp.
References nfd::name_tree::Entry::getName().
Referenced by nfd::name_tree::Iterator::operator!=().
template Entry* nfd::name_tree::NameTree::findLongestPrefixMatch< fib::Entry > | ( | const fib::Entry & | , |
const EntrySelector & | |||
) | const |
template Entry* nfd::name_tree::NameTree::findLongestPrefixMatch< measurements::Entry > | ( | const measurements::Entry & | , |
const EntrySelector & | |||
) | const |
template Entry* nfd::name_tree::NameTree::findLongestPrefixMatch< strategy_choice::Entry > | ( | const strategy_choice::Entry & | , |
const EntrySelector & | |||
) | const |
nfd::name_tree::NameTreeHashtable |
Definition at line 33 of file name-tree-hashtable.cpp.
nfd::name_tree::NameTreeIterator |
Definition at line 44 of file name-tree-iterator.cpp.
Definition at line 36 of file name-tree.cpp.