template<typename Leaf, unsigned int H, internal::BitExtractorGeneric< typename Leaf::Key > BitExtractor = internal::BitExtractor<typename Leaf::Key>, internal::MapGeneric< typename BitExtractor::ShiftResult, std::uintptr_t > Hash = internal::DefaultHash<typename BitExtractor::ShiftResult, std::uintptr_t>, typename Compare = std::less<typename Leaf::Key>, typename ArbitraryAllocator = std::allocator<typename Leaf::Key>>
class yfast::impl::YFastTrie< Leaf, H, BitExtractor, Hash, Compare, ArbitraryAllocator >
y-fast trie implementation
- Template Parameters
-
Leaf | inner binary tree leaf type |
H | key length in bits |
BitExtractor | helper type to provide key shifts and bit extractions |
Hash | map from shifted keys to std::uintptr_t |
Compare | key comparator |
ArbitraryAllocator | allocator |
template<typename Leaf, unsigned int H, internal::BitExtractorGeneric< typename Leaf::Key > BitExtractor = internal::BitExtractor<typename Leaf::Key>, internal::MapGeneric< typename BitExtractor::ShiftResult, std::uintptr_t > Hash = internal::DefaultHash<typename BitExtractor::ShiftResult, std::uintptr_t>, typename Compare = std::less<typename Leaf::Key>, typename ArbitraryAllocator = std::allocator<typename Leaf::Key>>
insert a new leaf
- Parameters
-
- Returns
- Where with fields: trie – this; xleaf – new leaf's x-fast trie node; leaf – NB: replaced leaf (if any)