26 #ifndef NFD_DAEMON_TABLE_NAME_TREE_HPP 27 #define NFD_DAEMON_TABLE_NAME_TREE_HPP 52 static constexpr
size_t 77 template<
typename EntryT>
177 template<
typename EntryT>
183 BOOST_ASSERT(nte !=
nullptr);
290 #endif // NFD_DAEMON_TABLE_NAME_TREE_HPP
size_t getNBuckets() const
const_iterator end() const
an EntrySelector that accepts every Entry
an EntrySubTreeSelector that accepts every Entry and its children
a hashtable for fast exact name lookup
Entry & lookup(const Name &name, size_t prefixLen)
find or insert an entry by name
Entry * findLongestPrefixMatch(const Name &name, const EntrySelector &entrySelector=AnyEntry()) const
longest prefix matching
Entry & lookup(const Name &name)
equivalent to lookup(name, name.size())
represents a Measurements entry
Range partialEnumerate(const Name &prefix, const EntrySubTreeSelector &entrySubTreeSelector=AnyEntrySubTree()) const
enumerate all entries under a prefix
Range findAllMatches(const Name &name, const EntrySelector &entrySelector=AnyEntry()) const
all-prefixes match lookup
Entry * findLongestPrefixMatch(const EntryT &tableEntry, const EntrySelector &entrySelector=AnyEntry()) const
equivalent to findLongestPrefixMatch(getEntry(tableEntry)->getName(), entrySelector)
Copyright (c) 2011-2015 Regents of the University of California.
Entry * getEntry(const EntryT &tableEntry) const
static Entry * get(const ENTRY &tableEntry)
Represents an absolute name.
represents a Strategy Choice entry
Range fullEnumerate(const EntrySelector &entrySelector=AnyEntry()) const
enumerate all entries
static const int FIB_MAX_DEPTH
Maximum number of components in a FIB entry prefix.
NameTree(size_t nBuckets=1024)
size_t eraseIfEmpty(Entry *entry, bool canEraseAncestors=true)
delete the entry if it is empty
a common index structure for FIB, PIT, StrategyChoice, and Measurements
boost::iterator_range< Iterator > Range
a Forward Range of name tree entries
std::function< std::pair< bool, bool >(const Entry &)> EntrySubTreeSelector
a predicate to accept or reject an Entry and its children
size_t getNBuckets() const
Entry * findExactMatch(const Name &name, size_t prefixLen=std::numeric_limits< size_t >::max()) const
exact match lookup
std::function< bool(const Entry &)> EntrySelector
a predicate to accept or reject an Entry in find operations
const_iterator begin() const
enumeration operation implementation
an entry in the name tree
static constexpr size_t getMaxDepth()
maximum depth of the name tree