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 | |
using | HashFunc = std::conditional<(sizeof(HashValue) > 4), Hash64, Hash32 >::type |
a type with compute static method to compute hash value from a raw buffer More... | |
using | HashValue = size_t |
a single hash value More... | |
using | HashSequence = std::vector< HashValue > |
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, 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... | |
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... | |
NFD_ASSERT_FORWARD_ITERATOR (Iterator) | |
std::ostream & | operator<< (std::ostream &os, const Iterator &i) |
Variables | |
NameTreeHashtable | |
NameTreeIterator | |
NameTree | |
using nfd::name_tree::HashFunc = typedef std::conditional<(sizeof(HashValue) > 4), Hash64, Hash32>::type |
a type with compute static method to compute hash value from a raw buffer
Definition at line 57 of file name-tree-hashtable.cpp.
using nfd::name_tree::HashValue = typedef size_t |
a single hash value
Definition at line 38 of file name-tree-hashtable.hpp.
using nfd::name_tree::HashSequence = typedef std::vector<HashValue> |
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 206 of file name-tree-iterator.hpp.
computes hash value of name.getPrefix(prefixLen)
Definition at line 60 of file name-tree-hashtable.cpp.
References ndn::Name::size(), ndn::Block::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, |
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.
References ndn::Name::push_back(), ndn::Name::size(), ndn::Block::size(), ndn::Block::wire(), and ndn::Name::wireEncode().
Referenced by nfd::name_tree::NameTree::findLongestPrefixMatch(), and nfd::name_tree::NameTree::lookup().
Definition at line 107 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 94 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().
nfd::name_tree::NFD_ASSERT_FORWARD_ITERATOR | ( | Iterator | ) |
std::ostream & nfd::name_tree::operator<< | ( | std::ostream & | os, |
const Iterator & | i | ||
) |
Definition at line 81 of file name-tree-iterator.cpp.
References nfd::name_tree::Entry::getName().
Referenced by nfd::name_tree::Iterator::operator!=().
nfd::name_tree::NameTreeHashtable |
Definition at line 33 of file name-tree-hashtable.cpp.
nfd::name_tree::NameTreeIterator |
Definition at line 38 of file name-tree-iterator.cpp.
Definition at line 36 of file name-tree.cpp.
Referenced by nfd::pit::Pit::end(), nfd::fib::Fib::end(), nfd::strategy_choice::StrategyChoice::end(), and nfd::Forwarder::startProcessNack().