var searchIndex = {}; searchIndex["intrusive_collections"] = {"doc":"Intrusive collections for Rust.","items":[[3,"IntrusiveRef","intrusive_collections","Pointer to an object that may be part of one or more intrusive colllections",null,null],[4,"Bound","","An endpoint of a range of keys.",null,null],[13,"Included","","An inclusive bound.",0,null],[13,"Excluded","","An exclusive bound.",0,null],[13,"Unbounded","","An infinite endpoint. Indicates that there is no bound in this direction.",0,null],[0,"linked_list","","Intrusive doubly-linked list.",null,null],[3,"Link","intrusive_collections::linked_list","Intrusive link that allows an object to be inserted into a `LinkedList`.",null,null],[3,"Cursor","","A cursor which provides read-only access to a `LinkedList`.",null,null],[3,"CursorMut","","A cursor which provides mutable access to a `LinkedList`.",null,null],[3,"LinkedList","","An intrusive doubly-linked list.",null,null],[3,"Iter","","An iterator over references to the items of a `LinkedList`.",null,null],[3,"IterMut","","An iterator over mutable references to the items of a `LinkedList`.",null,null],[11,"new","","Creates a new `Link`.",1,{"inputs":[],"output":{"name":"link"}}],[11,"is_linked","","Checks whether the `Link` is linked into a `LinkedList`.",1,null],[11,"unsafe_unlink","","Unlinks the object from the `LinkedList` without invalidating the rest\nof the list.",1,null],[11,"clone","","",1,null],[11,"default","","",1,{"inputs":[],"output":{"name":"link"}}],[11,"fmt","","",1,null],[11,"clone","","",2,null],[11,"is_null","","Checks if the cursor is currently pointing to the null object.",2,null],[11,"get_raw","","Returns a raw pointer to the object that the cursor is currently\npointing to.",2,null],[11,"get","","Returns a reference to the object that the cursor is currently\npointing to.",2,null],[11,"move_next","","Moves the cursor to the next element of the `LinkedList`.",2,null],[11,"move_prev","","Moves the cursor to the previous element of the `LinkedList`.",2,null],[11,"is_null","","Checks if the cursor is currently pointing to the null object.",3,null],[11,"get_raw","","Returns a raw pointer to the object that the cursor is currently\npointing to.",3,null],[11,"get","","Returns a reference to the object that the cursor is currently\npointing to.",3,null],[11,"get_mut","","Returns a mutable reference to the object that the cursor is currently\npointing to.",3,null],[11,"as_cursor","","Returns a read-only cursor pointing to the current element.",3,null],[11,"move_next","","Moves the cursor to the next element of the `LinkedList`.",3,null],[11,"move_prev","","Moves the cursor to the previous element of the `LinkedList`.",3,null],[11,"remove","","Removes the current element from the `LinkedList`.",3,null],[11,"replace_with","","Removes the current element from the `LinkedList` and inserts another\nobject in its place.",3,null],[11,"insert_after","","Inserts a new element into the `LinkedList` after the current one.",3,null],[11,"insert_before","","Inserts a new element into the `LinkedList` before the current one.",3,null],[11,"splice_after","","Inserts the elements from the given `LinkedList` after the current one.",3,null],[11,"splice_before","","Moves all element from the given `LinkedList` before the current one.",3,null],[11,"split_after","","Splits the list into two after the current element. This will return a\nnew list consisting of everything after the cursor, with the original\nlist retaining everything before.",3,null],[11,"split_before","","Splits the list into two before the current element. This will return a\nnew list consisting of everything before the cursor, with the original\nlist retaining everything after.",3,null],[11,"new","","Creates an empty `LinkedList`.",4,{"inputs":[{"name":"a"}],"output":{"name":"linkedlist"}}],[11,"is_empty","","Returns `true if the `LinkedList` is empty.",4,null],[11,"cursor","","Returns a null `Cursor` for this list.",4,null],[11,"cursor_mut","","Returns a null `CursorMut` for this list.",4,null],[11,"cursor_from_ptr","","Creates a `Cursor` from a pointer to an element.",4,null],[11,"cursor_mut_from_ptr","","Creates a `CursorMut` from a pointer to an element.",4,null],[11,"front","","Returns a `Cursor` pointing to the first element of the list. If the\nlist is empty then a null cursor is returned.",4,null],[11,"front_mut","","Returns a `CursorMut` pointing to the first element of the list. If the\nthe list is empty then a null cursor is returned.",4,null],[11,"back","","Returns a `Cursor` pointing to the last element of the list. If the list\nis empty then a null cursor is returned.",4,null],[11,"back_mut","","Returns a `CursorMut` pointing to the last element of the list. If the\nlist is empty then a null cursor is returned.",4,null],[11,"iter","","Gets an iterator over the objects in the `LinkedList`.",4,null],[11,"iter_mut","","Gets a mutable iterator over the objects in the `LinkedList`.",4,null],[11,"drain","","Calls the given function for each element in the `LinkedList` and\nremoves it from the list.",4,null],[11,"clear","","Removes all elements from the `LinkedList`.",4,null],[11,"fast_clear","","Empties the `LinkedList` without unlinking objects in it.",4,null],[11,"take","","Takes all the elements out of the `LinkedList`, leaving it empty. The\ntaken elements are returned as a new `LinkedList`.",4,null],[11,"default","","",4,{"inputs":[],"output":{"name":"linkedlist"}}],[11,"fmt","","",4,null],[11,"next","","",5,null],[11,"next_back","","",5,null],[11,"clone","","",5,null],[11,"next","","",6,null],[11,"next_back","","",6,null],[0,"rbtree","intrusive_collections","Intrusive red-black tree.",null,null],[3,"Link","intrusive_collections::rbtree","Intrusive link that allows an object to be inserted into a `RBTree`.",null,null],[3,"Cursor","","A cursor which provides read-only access to a `RBTree`.",null,null],[3,"CursorMut","","A cursor which provides mutable access to a `RBTree`.",null,null],[3,"RBTree","","An intrusive red-black tree.",null,null],[3,"Iter","","An iterator over references to the items of a `RBTree`.",null,null],[3,"IterMut","","An iterator over mutable references to the items of a `RBTree`.",null,null],[8,"TreeAdaptor","","Trait which provides a way of extracting a key from an intrusive object.\nThis key is used to maintain all elements in the tree in increasing order.\nThe key can be returned either as a reference or as a value.",null,null],[16,"Key","","Type of the key returned by `get_key`.",7,null],[10,"get_key","","Gets the key for the given object.",7,null],[11,"new","","Creates a new `Link`.",8,{"inputs":[],"output":{"name":"link"}}],[11,"is_linked","","Checks whether the `Link` is linked into a `LinkedList`.",8,null],[11,"unsafe_unlink","","Unlinks the object from the `RBTree` without invalidating the rest\nof the tree.",8,null],[11,"clone","","",8,null],[11,"default","","",8,{"inputs":[],"output":{"name":"link"}}],[11,"fmt","","",8,null],[11,"clone","","",9,null],[11,"is_null","","Checks if the cursor is currently pointing to the null object.",9,null],[11,"get_raw","","Returns a raw pointer to the object that the cursor is currently\npointing to.",9,null],[11,"get","","Returns a reference to the object that the cursor is currently\npointing to.",9,null],[11,"move_next","","Moves the cursor to the next element of the `RBTree`.",9,null],[11,"move_prev","","Moves the cursor to the previous element of the `RBTree`.",9,null],[11,"is_null","","Checks if the cursor is currently pointing to the null object.",10,null],[11,"get_raw","","Returns a raw pointer to the object that the cursor is currently\npointing to.",10,null],[11,"get","","Returns a reference to the object that the cursor is currently\npointing to.",10,null],[11,"get_mut","","Returns a mutable reference to the object that the cursor is currently\npointing to.",10,null],[11,"as_cursor","","Returns a read-only cursor pointing to the current element.",10,null],[11,"move_next","","Moves the cursor to the next element of the `RBTree`.",10,null],[11,"move_prev","","Moves the cursor to the previous element of the `RBTree`.",10,null],[11,"remove","","Removes the current element from the `RBTree`.",10,null],[11,"replace_with","","Removes the current element from the `RBTree` and inserts another\nobject in its place.",10,null],[11,"insert_after","","Inserts a new element into the `RBTree` after the current one.",10,null],[11,"insert_before","","Inserts a new element into the `RBTree` before the current one.",10,null],[11,"new","","Creates an empty `RBTree`.",11,{"inputs":[{"name":"a"}],"output":{"name":"rbtree"}}],[11,"is_empty","","Returns `true if the `RBTree` is empty.",11,null],[11,"cursor","","Returns a null `Cursor` for this tree.",11,null],[11,"cursor_mut","","Returns a null `CursorMut` for this tree.",11,null],[11,"cursor_from_ptr","","Creates a `Cursor` from a pointer to an element.",11,null],[11,"cursor_mut_from_ptr","","Creates a `CursorMut` from a pointer to an element.",11,null],[11,"front","","Returns a `Cursor` pointing to the first element of the tree. If the\ntree is empty then a null cursor is returned.",11,null],[11,"front_mut","","Returns a `CursorMut` pointing to the first element of the tree. If the\nthe tree is empty then a null cursor is returned.",11,null],[11,"back","","Returns a `Cursor` pointing to the last element of the tree. If the tree\nis empty then a null cursor is returned.",11,null],[11,"back_mut","","Returns a `CursorMut` pointing to the last element of the tree. If the\ntree is empty then a null cursor is returned.",11,null],[11,"find","","Returns a `Cursor` pointing to an element with the given key. If no such\nelement is found then a null cursor is returned.",11,null],[11,"find_mut","","Returns a `CursorMut` pointing to an element with the given key. If no\nsuch element is found then a null cursor is returned.",11,null],[11,"lower_bound","","Returns a `Cursor` pointing to the lowest element whose key is above\nthe given bound. If no such element is found then a null cursor is\nreturned.",11,null],[11,"lower_bound_mut","","Returns a `CursorMut` pointing to the first element whose key is\nabove the given bound. If no such element is found then a null\ncursor is returned.",11,null],[11,"upper_bound","","Returns a `Cursor` pointing to the last element whose key is below\nthe given bound. If no such element is found then a null cursor is\nreturned.",11,null],[11,"upper_bound_mut","","Returns a `CursorMut` pointing to the last element whose key is\nbelow the given bound. If no such element is found then a null\ncursor is returned.",11,null],[11,"insert","","Inserts a new element into the `RBTree`.",11,null],[11,"range","","Constructs a double-ended iterator over a sub-range of elements in the\ntree, starting at min, and ending at max. If min is `Unbounded`, then it\nwill be treated as "negative infinity", and if max is `Unbounded`, then\nit will be treated as "positive infinity". Thus\n`range(Unbounded, Unbounded)` will yield the whole collection.",11,null],[11,"range_mut","","Constructs a double-ended mutable iterator over a sub-range of elements\nin the tree, starting at min, and ending at max. If min is `Unbounded`,\nthen it will be treated as "negative infinity", and if max is\n`Unbounded`, then it will be treated as "positive infinity". Thus\n`range_mut(Unbounded, Unbounded)` will yield the whole collection.",11,null],[11,"iter","","Gets an iterator over the objects in the `RBTree`.",11,null],[11,"iter_mut","","Gets a mutable iterator over the objects in the `RBTree`.",11,null],[11,"drain","","Calls the given function for each element in the `RBTree` and\nremoves it from the tree.",11,null],[11,"clear","","Removes all elements from the `RBTree`.",11,null],[11,"fast_clear","","Empties the `RBTree` without unlinking objects in it.",11,null],[11,"take","","Takes all the elements out of the `RBTree`, leaving it empty. The\ntaken elements are returned as a new `RBTree`.",11,null],[11,"default","","",11,{"inputs":[],"output":{"name":"rbtree"}}],[11,"fmt","","",11,null],[11,"next","","",12,null],[11,"next_back","","",12,null],[11,"clone","","",12,null],[11,"next","","",13,null],[11,"next_back","","",13,null],[11,"from_raw","intrusive_collections","Creates an `IntrusiveRef` from a raw pointer",14,null],[11,"as_mut","","Creates an `IntrusiveRef` from a raw pointer",14,null],[11,"into_raw","","Converts an `IntrusiveRef` into a raw pointer",14,null],[11,"from_box","","Creates an `IntrusiveRef` from a `Box`",14,{"inputs":[{"name":"box"}],"output":{"name":"intrusiveref"}}],[11,"into_box","","Converts an `IntrusiveRef` into a `Box`",14,null],[11,"clone","","",14,null],[11,"deref","","",14,null],[11,"as_ref","","",14,null],[11,"borrow","","",14,null],[8,"Adaptor","","Trait representing a mapping between an object and an intrusive link type\nwhich is a member of that object.",null,null],[16,"Container","","Type containing the intrusive link",15,null],[10,"get_container","","Gets a reference to the containing object from a reference to a link.",15,null],[10,"get_link","","Gets a reference to the link for the given container object.",15,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"hash","","",0,null],[11,"fmt","","",0,null],[11,"clone","","",0,null],[14,"offset_of_unsafe!","","Macro to get the offset of a struct field in bytes from the address of the\nstruct.",null,null],[14,"offset_of!","","Macro to get the offset of a struct field in bytes from the address of the\nstruct.",null,null],[14,"container_of!","","Unsafe macro to get a raw pointer to an outer object from a pointer to one\nof its fields.",null,null],[14,"intrusive_adaptor!","","Macro to generate an empty type implementing the Adaptor trait for the given\ncontainer object and field.",null,null]],"paths":[[4,"Bound"],[3,"Link"],[3,"Cursor"],[3,"CursorMut"],[3,"LinkedList"],[3,"Iter"],[3,"IterMut"],[8,"TreeAdaptor"],[3,"Link"],[3,"Cursor"],[3,"CursorMut"],[3,"RBTree"],[3,"Iter"],[3,"IterMut"],[3,"IntrusiveRef"],[8,"Adaptor"]]}; initSearch(searchIndex);