var searchIndex = {}; searchIndex["bitmaptrie"] = {"doc":"A bitmapped vector trie with node compression and a path cache. Values are always sorted by\ntheir index; thus iterating is always in index order.","items":[[3,"CompVec","bitmaptrie","A simple sparse vector. The `valid` word is a bitmap of which indeces\nhave values. The maximum size of this vector is equal to the number of\nbits in a word (32 or 64).",null,null],[3,"PathCache","","A cached path into a trie",null,null],[3,"Trie","","Path-cached bitmap trie.",null,null],[3,"Iter","","Iterator over Trie",null,null],[3,"IterMut","","Iterator over Trie",null,null],[3,"BorrowSync","","Borrows a Trie mutably, exposing a Sync-safe subset of it's methods. No structure\nmodifying methods are included. Each borrow gets it's own path cache.\nThe lifetime of this type is the lifetime of the mutable borrow.\nThis can be used to parallelize structure-immutant changes.",null,null],[3,"BorrowSplit","","Type that borrows a Trie mutably, giving an iterable type that returns interior nodes on\nwhich structure-mutating operations can be performed. This can be used to parallelize\ndestructive operations.",null,null],[3,"SubTrie","","A type that references an interior Trie node. For splitting a Trie into sub-nodes, each of\nwhich can be passed to a different thread for mutable structural changes.",null,null],[4,"TrieNode","","An interior (branch) or exterior (leaf) trie node, defined recursively.",null,null],[13,"Interior","","",0,null],[13,"Exterior","","",0,null],[11,"set","","Move a value into the node at the given index. Returns a reference\nto the location where the value is stored.",1,null],[11,"get_mut","","Return the mutable value at the given index if it exists, otherwise\nreturn None.",1,null],[11,"get","","Return the value at the given index if it exists, otherwise return\nNone.",1,null],[11,"get_default_mut","","Return the value at the given index if it exists, otherwise call the\nprovided function to get the default value to insert and return.",1,null],[11,"remove","","Remove an entry, returning the entry if it was present at the given\nindex.",1,null],[11,"size","","Number of objects stored.",1,null],[11,"capacity","","Number of objects that can be stored without reallocation.",1,null],[11,"is_empty","","Return true if the vector is empty.",1,null],[11,"next","","Return the next Some(((masked_valid, compressed), (index, &value)))\nor None",1,null],[11,"next_mut","","Return the next Some(((masked_valid, compressed), (index, &mut value)))\nor None",1,null],[11,"iter","","Create an iterator over the contents",1,null],[11,"iter_mut","","",1,null],[11,"new","","",1,{"inputs":[],"output":{"name":"compvec"}}],[17,"VALID_MAX","","First value to use in CompVec::next(masked__valid, ...)",null,null],[17,"USIZE_BYTES","","",null,null],[17,"WORD_SIZE","","",null,null],[11,"retain_if","","",0,null],[11,"clone","","",2,null],[11,"new","","Instantiate a new Trie, indexed by a usize integer and storing values\nof type T.",3,{"inputs":[],"output":{"name":"trie"}}],[11,"set","","Set an entry to a value, moving the new value into the trie. Updates the internal path\ncache to point at this index.",3,null],[11,"get_default_mut","","Retrieve a mutable reference to the value at the given index. If the index does not have\nan associated value, call the default function to generate a value for that index and\nreturn the reference to it. Updates the internal path cache to point at this index.",3,null],[11,"get_mut","","Retrieve a mutable reference to the value at the given index. Updates the internal path\ncache to point at this index.",3,null],[11,"get","","Retrieve a reference to the value at the given index. Updates the internal path cache to\npoint at this index.",3,null],[11,"remove","","Remove an entry, returning the associated value. Invalidates the internal path cache from\nthe depth of tree modification out to the leaf if anything was removed.",3,null],[11,"retain_if","","Retains only the elements specified by the predicate. Invalidates the cache entirely.",3,null],[11,"iter","","Create an iterator over immutable data",3,null],[11,"iter_mut","","Create an iterator over mutable data",3,null],[11,"borrow_split","","Split the trie into at minimum `n` nodes (by doing a breadth-first search for the depth\nwith at least that many interior nodes) and return an guard type that provides an iterator\nto iterate over the nodes. There is no upper bound on the number of nodes returned and less\nthan n may be returned. The guard type, `BorrowSplit`, guards the lifetime of the mutable\nborrow, making this suitable for use in a scoped threading context. Invalidates the\ncache entirely.",3,null],[11,"prune","","Cleans up any empty nodes that may be left dangling. This is only useful in conjunction\nwith borrow_split() where sub-tries may be left empty but not deleted themselves and is\nentirely optional.",3,null],[11,"borrow_sync","","Create a mutable borrow that gives a subset of functions that can be accessed across\nthreads if `T` is Sync. Suitable only for a scoped thread as the lifetime of the\n`BorrowSync` instance is not `'static` but the same duration as the borrow. Each borrow\ncontains it's own path cache.",3,null],[11,"drop","","",3,null],[11,"index","","",3,null],[11,"index_mut","","",3,null],[11,"new","","",4,{"inputs":[{"name":"trienode"},{"name":"usize"},{"name":"usize"}],"output":{"name":"iter"}}],[11,"next","","",4,null],[11,"new","","",5,{"inputs":[{"name":"trienode"},{"name":"usize"},{"name":"usize"}],"output":{"name":"itermut"}}],[11,"next","","",5,null],[11,"clone","","Clone this instance: the new instance can be sent to another thread. It has it's own\npath cache.",6,null],[11,"get","","Retrieve a reference to the value at the given index. Updates the local path\ncache to point at this index.",6,null],[11,"get_mut","","Retrieve a mutable reference to the value at the given index. Updates the local path\ncache to point at this index.\n[Is this actually Sync-safe?]",6,null],[11,"drop","","",6,null],[11,"iter_mut","","Return an Iterator that provides `SubTrie` instances that can be independently mutated.",7,null],[11,"drain","","Return a draining Iterator across the whole list of nodes.",7,null],[11,"iter","","Return an iterator across this sub tree",8,null],[11,"iter_mut","","",8,null],[11,"retain_if","","Retains only the elements specified by the predicate. Invalidates the cache entirely.",8,null]],"paths":[[4,"TrieNode"],[3,"CompVec"],[3,"PathCache"],[3,"Trie"],[3,"Iter"],[3,"IterMut"],[3,"BorrowSync"],[3,"BorrowSplit"],[3,"SubTrie"]]}; initSearch(searchIndex);