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 | Hashtable |
A hashtable for fast exact name lookup. More... | |
struct | 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 | |
using | EntrySelector = std::function< bool(const Entry &)> |
A predicate to accept or reject an Entry in find operations. More... | |
using | EntrySubTreeSelector = std::function< std::pair< bool, bool >(const Entry &)> |
A predicate to accept or reject an Entry and its children. More... | |
using | HashFunc = std::conditional_t<(sizeof(HashValue) > 4), Hash64, Hash32 > |
A type with a compute() static method to compute the hash value from a raw buffer. More... | |
using | HashSequence = std::vector< HashValue > |
A sequence of hash values. More... | |
using | HashValue = size_t |
A single hash value. More... | |
using | Range = boost::iterator_range< Iterator > |
A forward range of name tree entries. More... | |
Functions | |
HashValue | computeHash (const Name &name, size_t prefixLen=std::numeric_limits< size_t >::max()) |
Computes hash value of name.getPrefix(prefixLen) . More... | |
HashSequence | computeHashes (const Name &name, size_t prefixLen=std::numeric_limits< size_t >::max()) |
Computes hash values for each prefix of name.getPrefix(prefixLen) . More... | |
template<typename N , typename F > | |
void | foreachNode (N *head, const F &func) |
Invoke a function for each node in a doubly linked list. More... | |
Node * | getNode (const Entry &entry) |
std::ostream & | operator<< (std::ostream &os, const Iterator &i) |
using nfd::name_tree::EntrySelector = typedef std::function<bool(const Entry&)> |
A predicate to accept or reject an Entry in find operations.
Definition at line 43 of file name-tree-iterator.hpp.
using nfd::name_tree::EntrySubTreeSelector = typedef std::function<std::pair<bool, bool>(const Entry&)> |
A predicate to accept or reject an Entry and its children.
.first
indicates whether entry should be accepted; .second
indicates whether entry's children should be visited Definition at line 61 of file name-tree-iterator.hpp.
using nfd::name_tree::HashFunc = typedef std::conditional_t<(sizeof(HashValue) > 4), Hash64, Hash32> |
A type with a compute()
static method to compute the hash value from a raw buffer.
Definition at line 57 of file name-tree-hashtable.cpp.
using nfd::name_tree::HashSequence = typedef std::vector<HashValue> |
A sequence of hash values.
Definition at line 44 of file name-tree-hashtable.hpp.
using nfd::name_tree::HashValue = typedef size_t |
A single hash value.
Definition at line 39 of file name-tree-hashtable.hpp.
using nfd::name_tree::Range = typedef boost::iterator_range<Iterator> |
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 loops.
Definition at line 206 of file name-tree-iterator.hpp.
HashValue nfd::name_tree::computeHash | ( | const Name & | name, |
size_t | prefixLen | ||
) |
Computes hash value of name.getPrefix(prefixLen)
.
Definition at line 60 of file name-tree-hashtable.cpp.
HashSequence nfd::name_tree::computeHashes | ( | const Name & | name, |
size_t | prefixLen = std::numeric_limits< size_t >::max() |
||
) |
Computes hash values for each prefix of name.getPrefix(prefixLen)
.
Definition at line 73 of file name-tree-hashtable.cpp.
void nfd::name_tree::foreachNode | ( | N * | head, |
const F & | func | ||
) |
Invoke a function for each node in a doubly linked list.
Definition at line 95 of file name-tree-hashtable.hpp.
Definition at line 107 of file name-tree-hashtable.cpp.
std::ostream & nfd::name_tree::operator<< | ( | std::ostream & | os, |
const Iterator & | i | ||
) |
Definition at line 53 of file name-tree-iterator.cpp.