26 #ifndef NFD_DAEMON_TABLE_NAME_TREE_HPP
27 #define NFD_DAEMON_TABLE_NAME_TREE_HPP
62 template<
typename ENTRY>
150 template<
typename ENTRY>
258 #endif // NFD_DAEMON_TABLE_NAME_TREE_HPP
an EntrySelector that accepts every Entry
a common index structure for FIB, PIT, StrategyChoice, and Measurements
Entry * findLongestPrefixMatch(const Name &name, const EntrySelector &entrySelector=AnyEntry()) const
longest prefix matching
represents a Measurements entry
size_t eraseIfEmpty(Entry *entry, bool canEraseAncestors=true)
delete the entry if it is empty
size_t getNBuckets() const
function< std::pair< bool, bool >const Entry &entry)> EntrySubTreeSelector
a predicate to accept or reject an Entry and its children
Range fullEnumerate(const EntrySelector &entrySelector=AnyEntry()) const
enumerate all entries
Range partialEnumerate(const Name &prefix, const EntrySubTreeSelector &entrySubTreeSelector=AnyEntrySubTree()) const
enumerate all entries under a prefix
const_iterator begin() const
enumeration operation implementation
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
Entry * findExactMatch(const Name &name) const
exact match lookup
an EntrySubTreeSelector that accepts every Entry and its children
function< bool(const Entry &entry)> EntrySelector
a predicate to accept or reject an Entry in find operations
Range findAllMatches(const Name &name, const EntrySelector &entrySelector=AnyEntry()) const
all-prefixes match lookup
an entry in the name tree
represents a Strategy Choice entry
static Entry * get(const ENTRY &tableEntry)
size_t getNBuckets() const
boost::iterator_range< Iterator > Range
a Forward Range of name tree entries
Entry & lookup(const Name &name)
find or insert an entry with specified name
Entry * getEntry(const ENTRY &tableEntry) const
NameTree(size_t nBuckets=1024)
a hashtable for fast exact name lookup
const_iterator end() const