<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="An ordered set based on a B-Tree."><metaname="keywords"content="rust, rustlang, rust-lang, Set"><title>Set in kanidmd_lib::entry - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><linkrel="stylesheet"href="../../static.files/normalize-76eba96aa4d2e634.css"><linkrel="stylesheet"href="../../static.files/rustdoc-6827029ac823cab7.css"id="mainThemeStyle"><linkrel="stylesheet"id="themeStyle"href="../../static.files/light-ebce58d0a40c3431.css"><linkrel="stylesheet"disabledhref="../../static.files/dark-f23faae4a2daf9a6.css"><linkrel="stylesheet"disabledhref="../../static.files/ayu-8af5e100b21cd173.css"><scriptid="default-settings"></script><scriptsrc="../../static.files/storage-d43fa987303ecbbb.js"></script><scriptdefersrc="sidebar-items.js"></script><scriptdefersrc="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><linkrel="stylesheet"href="../../static.files/noscript-13285aec31fa243e.css"></noscript><linkrel="alternate icon"type="image/png"href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><linkrel="alternate icon"type="image/png"href="../../static.files/favicon-32x32-422f7d1d52889060.png"><linkrel="icon"type="image/svg+xml"href="../../static.files/favicon-2c020d218678b618.svg"></head><bodyclass="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../kanidmd_lib/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../static.files/rust-logo-151179464ae7ed46.svg"alt="logo"></div></a><h2></h2></nav><navclass="sidebar"><aclass="sidebar-logo"href="../../kanidmd_lib/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../static.files/rust-logo-151179464ae7ed46.svg"alt="logo"></div></a><h2class="location"><ahref="#">Set</a></h2><divclass="sidebar-elems"><section><h3><ahref="#implementations">Methods</a></h3><ulclass="block"><li><ahref="#method.append">append</a></li><li><ahref="#method.clear">clear</a></li><li><ahref="#method.contains">contains</a></li><li><ahref="#method.difference">difference</a></li><li><ahref="#method.drain_filter">drain_filter</a></li><li><ahref="#method.first">first</a></li><li><ahref="#method.get">get</a></li><li><ahref="#method.insert">insert</a></li><li><ahref="#method.intersection">intersection</a></li><li><ahref="#method.is_disjoint">is_disjoint</a></li><li><ahref="#method.is_empty">is_empty</a></li><li><ahref="#method.is_subset">is_subset</a></li><li><ahref="#method.is_superset">is_superset</a></li><li><ahref="#method.iter">iter</a></li><li><ahref="#method.last">last</a></li><li><ahref="#method.len">len</a></li><li><ahref="#method.new">new</a></li><li><ahref="#method.new_in">new_in</a></li><li><ahref="#method.pop_first">pop_first</a></li><li><ahref="#method.pop_last">pop_last</a></li><li><ahref="#method.range">range</a></li><li><ahref="#method.remove">remove</a></li><li><ahref="#method.replace">replace</a></li><li><ahref="#method.retain
<p>See <ahref="https://doc.rust-lang.org/1.67.1/alloc/collections/btree/map/struct.BTreeMap.html"title="BTreeMap"><code>BTreeMap</code></a>’s documentation for a detailed discussion of this collection’s performance
to any other item, as determined by the <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"><code>Ord</code></a> trait, changes while it is in the set. This is
normally only possible through <ahref="https://doc.rust-lang.org/1.67.1/core/cell/struct.Cell.html"><code>Cell</code></a>, <ahref="https://doc.rust-lang.org/1.67.1/core/cell/struct.RefCell.html"><code>RefCell</code></a>, global state, I/O, or unsafe code.
The behavior resulting from such a logic error is not specified, but will be encapsulated to the
<code>BTreeSet</code> that observed the logic error and not result in undefined behavior. This could
include panics, incorrect results, aborts, memory leaks, and non-termination.</p>
<p>Iterators returned by <ahref="../idm/authsession/struct.Set.html#method.iter"title="BTreeSet::iter"><code>BTreeSet::iter</code></a> produce their items in order, and take worst-case
logarithmic and amortized constant time per item returned.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-BTreeSet%3CT%2C%20A%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#353">source</a><ahref="#impl-BTreeSet%3CT%2C%20A%3E"class="anchor">§</a><h3class="code-header">impl<T, A><aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A><spanclass="where fmt-newline">where<br> A: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/alloc/trait.Allocator.html"title="trait core::alloc::Allocator">Allocator</a> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.new_in"class="method has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#368">source</a><h4class="code-header">pub fn <ahref="#method.new_in"class="fn">new_in</a>(alloc: A) -><aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A></h4></section><spanclass="item-info"><divclass="stab unstable"><spanclass="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>btreemap_alloc</code>)</span></div></span></summary><divclass="docblock"><p>Makes a new <code>BTreeSet</code> with a reasonable choice of B.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.range"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.17.0">1.17.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#400-404">source</a></span><h4class="code-header">pub fn <ahref="#method.range"class="fn">range</a><K, R>(&self, range: R) -><aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/collections/btree/set/struct.Range.html"title="struct alloc::collections::btree::set::Range">Range</a><'_, T><spanclass="where fmt-newline">where<br> K: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a> + ?<aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><K> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,<br> R: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/ops/range/trait.RangeBounds.html"title="trait core::ops::range::RangeBounds">RangeBounds</a><K>,</span></h4></section></summary><divclass="docblock"><p>Constructs a double-ended iterator over a sub-range of elements in the set.
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.contains"class="method has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#616-619">source</a><h4class="code-header">pub fn <ahref="#method.contains"class="fn">contains</a><Q>(&self, value: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Q) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><Q> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,<br> Q: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a> + ?<aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass="docblock"><p>Returns <code>true</code> if the set contains an element equal to the value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.9.0">1.9.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#641-644">source</a></span><h4class="code-header">pub fn <ahref="#method.get"class="fn">get</a><Q>(&self, value: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Q) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>T><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><Q> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,<br> Q: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a> + ?<aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass="docblock"><p>Returns a reference to the element in the set, if any, that is equal to
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.is_disjoint"class="method has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#668-670">source</a><h4class="code-header">pub fn <ahref="#method.is_disjoint"class="fn">is_disjoint</a>(&self, other: &<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,</span></h4></section></summary><divclass="docblock"><p>Returns <code>true</code> if <code>self</code> has no elements in common with <code>other</code>.
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.is_subset"class="method has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#694-696">source</a><h4class="code-header">pub fn <ahref="#method.is_subset"class="fn">is_subset</a>(&self, other: &<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,</span></h4></section></summary><divclass="docblock"><p>Returns <code>true</code> if the set is a subset of another,
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.is_superset"class="method has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#774-776">source</a><h4class="code-header">pub fn <ahref="#method.is_superset"class="fn">is_superset</a>(&self, other: &<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,</span></h4></section></summary><divclass="docblock"><p>Returns <code>true</code> if the set is a superset of another,
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.first"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.66.0">1.66.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#800-802">source</a></span><h4class="code-header">pub fn <ahref="#method.first"class="fn">first</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>T><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,</span></h4></section></summary><divclass="docblock"><p>Returns a reference to the first element in the set, if any.
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.last"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.66.0">1.66.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#826-828">source</a></span><h4class="code-header">pub fn <ahref="#method.last"class="fn">last</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>T><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,</span></h4></section></summary><divclass="docblock"><p>Returns a reference to the last element in the set, if any.
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.pop_first"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.66.0">1.66.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#850-852">source</a></span><h4class="code-header">pub fn <ahref="#method.pop_first"class="fn">pop_first</a>(&mut self) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><T><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,</span></h4></section></summary><divclass="docblock"><p>Removes the first element from the set and returns it, if any.
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.pop_last"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.66.0">1.66.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#874-876">source</a></span><h4class="code-header">pub fn <ahref="#method.pop_last"class="fn">pop_last</a>(&mut self) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><T><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,</span></h4></section></summary><divclass="docblock"><p>Removes the last element from the set and returns it, if any.
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.insert"class="method has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#906-908">source</a><h4class="code-header">pub fn <ahref="#method.insert"class="fn">insert</a>(&mut self, value: T) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,</span></h4></section></summary><divclass="docblock"><p>Adds a value to the set.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.replace"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.9.0">1.9.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#929-931">source</a></span><h4class="code-header">pub fn <ahref="#method.replace"class="fn">replace</a>(&mut self, value: T) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><T><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,</span></h4></section></summary><divclass="docblock"><p>Adds a value to the set, replacing the existing element, if any, that is
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.remove"class="method has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#955-958">source</a><h4class="code-header">pub fn <ahref="#method.remove"class="fn">remove</a><Q>(&mut self, value: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Q) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><Q> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,<br> Q: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a> + ?<aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass="docblock"><p>If the set contains an element equal to the value, removes it from the
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.take"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.9.0">1.9.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#980-983">source</a></span><h4class="code-header">pub fn <ahref="#method.take"class="fn">take</a><Q>(&mut self, value: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Q) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><T><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><Q> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,<br> Q: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a> + ?<aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass="docblock"><p>Removes and returns the element in the set, if any, that is equal to
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.retain"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.53.0">1.53.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#1004-1007">source</a></span><h4class="code-header">pub fn <ahref="#method.retain"class="fn">retain</a><F>(&mut self, f: F)<spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,<br> F: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>T) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a>,</span></h4></section></summary><divclass="docblock"><p>Retains only the elements specified by the predicate.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.split_off"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.11.0">1.11.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#1079-1082">source</a></span><h4class="code-header">pub fn <ahref="#method.split_off"class="fn">split_off</a><Q>(&mut self, value: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Q) -><aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A><spanclass="where fmt-newline">where<br> Q: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a> + ?<aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><Q> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,<br> A: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</span></h4></section></summary><divclass="docblock"><p>Splits the collection into two at the value. Returns a new collection
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.drain_filter"class="method has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#1117-1120">source</a><h4class="code-header">pub fn <ahref="#method.drain_filter"class="fn">drain_filter</a><'a, F>(&'a mut self, pred: F) -><aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/collections/btree/set/struct.DrainFilter.html"title="struct alloc::collections::btree::set::DrainFilter">DrainFilter</a><'a, T, F, A><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,<br> F: 'a + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>T) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a>,</span></h4></section><spanclass="item-info"><divclass="stab unstable"><spanclass="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>btree_drain_filter</code>)</span></div></span></summary><divclass="docblock"><p>Creates an iterator that visits all elements in ascending order and
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.iter"class="method has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#1155">source</a><h4class="code-header">pub fn <ahref="#method.iter"class="fn">iter</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/collections/btree/set/struct.Iter.html"title="struct alloc::collections::btree::set::Iter">Iter</a><'_, T></h4></section></summary><divclass="docblock"><p>Gets an iterator that visits the elements in the <code>BTreeSet</code> in ascending
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.len"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="const unstable">const: <ahref="https://github.com/rust-lang/rust/issues/71835"title="Tracking issue for const_btree_len">unstable</a></span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#1178">source</a></span><h4class="code-header">pub fn <ahref="#method.len"class="fn">len</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a></h4></section></summary><divclass="docblock"><p>Returns the number of elements in the set.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.is_empty"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="const unstable">const: <ahref="https://github.com/rust-lang/rust/issues/71835"title="Tracking issue for const_btree_len">unstable</a></span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#1201">source</a></span><h4class="code-header">pub fn <ahref="#method.is_empty"class="fn">is_empty</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Returns <code>true</code> if the set contains no elements.</p>
</div></details><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Item-1"class="associatedtype trait-impl has-srclink"><ahref="#associatedtype.Item-1"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.67.1/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item"class="associatedtype">Item</a> = T</h4></section></summary><divclass='docblock'>The type of the elements being iterated over.</div></details><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.IntoIter-1"class="associatedtype trait-impl has-srclink"><ahref="#associatedtype.IntoIter-1"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.67.1/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter"class="associatedtype">IntoIter</a> = <aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/collections/btree/set/struct.IntoIter.html"title="struct alloc::collections::btree::set::IntoIter">IntoIter</a><T, A></h4></section></summary><divclass='docblock'>Which kind of iterator are we turning this into?</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Ord-for-BTreeSet%3CT%2C%20A%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#113">source</a><ahref="#impl-Ord-for-BTreeSet%3CT%2C%20A%3E"class="anchor">§</a><h3class="code-header">impl<T, A><aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a> for <aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,<br> A: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/alloc/trait.Allocator.html"title="trait core::alloc::Allocator">Allocator</a> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.cmp"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#114">source</a><ahref="#method.cmp"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html#tymethod.cmp"class="fn">cmp</a>(&self, other: &<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/cmp/enum.Ordering.html"title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><divclass='docblock'>This method returns an <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/enum.Ordering.html"title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.max"class="method trait-impl has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.21.0">1.21.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/core/cmp.rs.html#798-801">source</a></span><ahref="#method.max"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html#method.max"class="fn">max</a>(self, other: Self) -> Self<spanclass="where fmt-newline">where<br> Self: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html"title="traitcore::
by <code>==</code>. <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.ne"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/core/cmp.rs.html#229">source</a><ahref="#method.ne"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialEq.html#method.ne"class="fn">ne</a>(&self, other: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Rhs) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
sufficient, and should not be overridden without very good reason. <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialEq.html#method.ne">Read more</a></div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-PartialOrd%3CBTreeSet%3CT%2C%20A%3E%3E-for-BTreeSet%3CT%2C%20A%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#106">source</a><ahref="#impl-PartialOrd%3CBTreeSet%3CT%2C%20A%3E%3E-for-BTreeSet%3CT%2C%20A%3E"class="anchor">§</a><h3class="code-header">impl<T, A><aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html"title="trait core::cmp::PartialOrd">PartialOrd</a><<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A>> for <aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html"title="trait core::cmp::PartialOrd">PartialOrd</a><T>,<br> A: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/alloc/trait.Allocator.html"title="trait core::alloc::Allocator">Allocator</a> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.partial_cmp"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#107">source</a><ahref="#method.partial_cmp"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp"class="fn">partial_cmp</a>(&self, other: &<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/cmp/enum.Ordering.html"title="enum core::cmp::Ordering">Ordering</a>></h4></section></summary><divclass='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.lt"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/core/cmp.rs.html#1126">source</a><ahref="#method.lt"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html#method.lt"class="fn">lt</a>(&self, other: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Rhs) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.le"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/core/cmp.rs.html#1145">source</a><ahref="#method.le"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html#method.le"class="fn">le</a>(&se
operator. <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.gt"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/core/cmp.rs.html#1163">source</a><ahref="#method.gt"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html#method.gt"class="fn">gt</a>(&self, other: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Rhs) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.ge"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/core/cmp.rs.html#1182">source</a><ahref="#method.ge"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html#method.ge"class="fn">ge</a>(&self, other: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Rhs) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Serialize-for-BTreeSet%3CT%2C%20Global%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/serde/1.0.152/src/serde/ser/impls.rs.html#226">source</a><ahref="#impl-Serialize-for-BTreeSet%3CT%2C%20Global%3E"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://docs.rs/serde/1.0.152/serde/ser/trait.Serialize.html"title="trait serde::ser::Serialize">Serialize</a> for <aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, <aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/alloc/struct.Global.html"title="struct alloc::alloc::Global">Global</a>><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://docs.rs/serde/1.0.152/serde/ser/trait.Serialize.html"title="trait serde::ser::Serialize">Serialize</a>,</span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.serialize"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/serde/1.0.152/src/serde/ser/impls.rs.html#226">source</a><ahref="#method.serialize"class="anchor">§</a><h4class="code-header">fn <ahref="https://docs.rs/serde/1.0.152/serde/ser/trait.Serialize.html#tymethod.serialize"class="fn">serialize</a><S>(<br> &self,<br> serializer: S<br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<S as <aclass="trait"href="https://docs.rs/serde/1.0.152/serde/ser/trait.Serializer.html"title="trait serde::ser::Serializer">Serializer</a>>::<aclass="associatedtype"href="https://docs.rs/serde/1.0.152/serde/ser/trait.Serializer.html#associatedtype.Ok"title="type serde::ser::Serializer::Ok">Ok</a>, <S as <aclass="trait"href="https://docs.rs/serde/1.0.152/serde/ser/trait.Serializer.html"title="trait serde::ser::Serializer">Serializer</a>>::<aclass="associatedtype"href="https://docs.rs/serde/1.0.152/serde/ser/trait.Serializer.html#associatedtype.Error"title="type serde::ser::Serializer::Error">Error</a>><spanclass="where fmt-newline">where<br> S: <aclass="trait"href="https://docs.rs/serde/1.0.152/serde/ser/trait.Serializer.html"title="trait serde::ser::Serializer">Serializer</a>,</span></h4></section></summary><divclass='docblock'>Serialize this value into the given Serde serializer. <ahref="https://docs.rs/serde/1.0.152/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Sub%3C%26BTreeSet%3CT%2C%20A%3E%3E-for-%26BTreeSet%3CT%2C%20A%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#1383">source</a><ahref="#impl-Sub%3C%26BTreeSet%3CT%2C%20A%3E%3E-for-%26BTreeSet%3CT%2C%20A%3E"class="anchor">§</a><h3class="code-header">impl<T, A><aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/ops/arith/trait.Sub.html"title="trait core::ops::arith::Sub">Sub</a><&<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A>> for &<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html"title="traitcore::clone::Clon
</div></details><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Output"class="associatedtype trait-impl has-srclink"><ahref="#associatedtype.Output"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.67.1/core/ops/arith/trait.Sub.html#associatedtype.Output"class="associatedtype">Output</a> = <aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A></h4></section></summary><divclass='docblock'>The resulting type after applying the <code>-</code> operator.</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Tagged-for-BTreeSet%3CT%2C%20Global%3E"class="impl has-srclink"><ahref="#impl-Tagged-for-BTreeSet%3CT%2C%20Global%3E"class="anchor">§</a><h3class="code-header">impl<T> Tagged for <aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, <aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/alloc/struct.Global.html"title="struct alloc::alloc::Global">Global</a>></h3></section></summary><divclass="impl-items"><sectionid="associatedconstant.TAG"class="associatedconstant trait-impl has-srclink"><ahref="#associatedconstant.TAG"class="anchor">§</a><h4class="code-header">const <aclass="constant">TAG</a>: Tag = Tag::Set</h4></section></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-ToDer-for-BTreeSet%3CT%2C%20Global%3E"class="impl has-srclink"><ahref="#impl-ToDer-for-BTreeSet%3CT%2C%20Global%3E"class="anchor">§</a><h3class="code-header">impl<T> ToDer for <aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, <aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/alloc/struct.Global.html"title="struct alloc::alloc::Global">Global</a>><spanclass="where fmt-newline">where<br> T: ToDer,</span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_der_len"class="method trait-impl has-srclink"><ahref="#method.to_der_len"class="anchor">§</a><h4class="code-header">fn <aclass="fn">to_der_len</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a>, Error></h4></section></summary><divclass='docblock'>Get the length of the object, when encoded <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.write_der_header"class="method trait-impl has-srclink"><ahref="#method.write_der_header"class="anchor">§</a><h4class="code-header">fn <aclass="fn">write_der_header</a>(<br> &self,<br> writer: &mut dyn <aclass="trait"href="https://doc.rust-lang.org/1.67.1/std/io/trait.Write.html"title="trait std::io::Write">Write</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a>, SerializeError></h4></section></summary><divclass='docblock'>Attempt to write the DER header to this writer.</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.write_der_content"class="method trait-impl has-srclink"><ahref="#method.write_der_content"class="anchor">§</a><h4class="code-header">fn <aclass="fn">write_der_content</a>(<br> &self,<br> writer: &mut dyn <aclass="trait"href="https://doc.rust-lang.org/1.67.1/std/io/trait.Write.html"title="trait std::io::Write">Write</a><br>) -><aclass="enum"href="https://doc.rus
This can generate an invalid encoding for a DER object. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.write_der"class="method trait-impl has-srclink"><ahref="#method.write_der"class="anchor">§</a><h4class="code-header">fn <aclass="fn">write_der</a>(&self, writer: &mut dyn <aclass="trait"href="https://doc.rust-lang.org/1.67.1/std/io/trait.Write.html"title="trait std::io::Write">Write</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a>, SerializeError></h4></section></summary><divclass='docblock'>Attempt to write the DER encoded representation (header and content) into this writer. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.write_der_raw"class="method trait-impl has-srclink"><ahref="#method.write_der_raw"class="anchor">§</a><h4class="code-header">fn <aclass="fn">write_der_raw</a>(&self, writer: &mut dyn <aclass="trait"href="https://doc.rust-lang.org/1.67.1/std/io/trait.Write.html"title="trait std::io::Write">Write</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a>, SerializeError></h4></section></summary><divclass='docblock'>Similar to using <code>to_der</code>, but uses provided values without changes.
This can generate an invalid encoding for a DER object. <a>Read more</a></div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-TryFrom%3CAny%3C%27a%3E%3E-for-BTreeSet%3CT%2C%20Global%3E"class="impl has-srclink"><ahref="#impl-TryFrom%3CAny%3C%27a%3E%3E-for-BTreeSet%3CT%2C%20Global%3E"class="anchor">§</a><h3class="code-header">impl<'a, T><aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><Any<'a>> for <aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, <aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/alloc/struct.Global.html"title="struct alloc::alloc::Global">Global</a>><spanclass="where fmt-newline">where<br> T: FromBer<'a> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Ord.html"title="trait core::cmp::Ord">Ord</a>,</span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Error"class="associatedtype trait-impl has-srclink"><ahref="#associatedtype.Error"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = Error</h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.try_from"class="method trait-impl has-srclink"><ahref="#method.try_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from"class="fn">try_from</a>(any: Any<'a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, <aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/alloc/struct.Global.html"title="struct alloc::alloc::Global">Global</a>>, Error></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details><sectionid="impl-Eq-for-BTreeSet%3CT%2C%20A%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://doc.rust-lang.org/1.67.1/src/alloc/collections/btree/set.rs.html#103">source</a><ahref="#impl-Eq-for-BTreeSet%3CT%2C%20A%3E"class="anchor">§</a><h3class="code-header">impl<T, A><aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Eq.html"title="trait core::cmp::Eq">Eq</a> for <aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><T, A><spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/cmp/trait.Eq.html"title="trait core::cmp::Eq">Eq</a>,<br> A: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/alloc/trait.Allocator.html"title="trait core::alloc::Allocator">Allocator</a> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</span></h3></section></div><h2id="synthetic-implementations"class="small-section-header">Auto Trait Implementations<ahref="#synthetic-implementations"class="anchor">§</a></h2><divid="synthetic-implementations-list"><sectionid="impl-RefUnwindSafe-for-BTreeSet%3CT%2C%20A%3E"class="impl has-srclink"><ahref="#impl-RefUnwindSafe-for-BTreeSet%3CT%2C%20A%3E"class="anchor">§</a><h3class="code-header">impl<T, A><aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html"title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <aclass="struct"hr
<code>Instrumented</code> wrapper. <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.in_current_span"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#121">source</a><ahref="#method.in_current_span"class="anchor">§</a><h4class="code-header">fn <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span"class="fn">in_current_span</a>(self) -><aclass="struct"href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></h4></section></summary><divclass='docblock'>Instruments this type with the <ahref="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html#method.current">current</a><ahref="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"><code>Span</code></a>, returning an
<code><ahref="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html"title="From">From</a><T> for U</code> chooses to do.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"><summary><sectionid="impl-Pointable-for-BTreeSet%3CT%2C%20A%3E"class="impl has-srclink"><ahref="#impl-Pointable-for-BTreeSet%3CT%2C%20A%3E"class="anchor">§</a><h3class="code-header">impl<T> Pointable for T</h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedconstant.ALIGN"class="associatedconstant trait-impl has-srclink"><ahref="#associatedconstant.ALIGN"class="anchor">§</a><h4class="code-header">const <aclass="constant">ALIGN</a>: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a> = mem::align_of::<T>()</h4></section></summary><divclass='docblock'>The alignment of pointer.</div></details><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Init"class="associatedtype trait-impl has-srclink"><ahref="#associatedtype.Init"class="anchor">§</a><h4class="code-header">type <aclass="associatedtype">Init</a> = T</h4></section></summary><divclass='docblock'>The type for initializers.</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.init"class="method trait-impl has-srclink"><ahref="#method.init"class="anchor">§</a><h4class="code-header">unsafe fn <aclass="fn">init</a>(init: <T as Pointable>::Init) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a></h4></section></summary><divclass='docblock'>Initializes a with the given initializer. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.deref"class="method trait-impl has-srclink"><ahref="#method.deref"class="anchor">§</a><h4class="code-header">unsafe fn <aclass="fn">deref</a><'a>(ptr: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&'a </a>T</h4></section></summary><divclass='docblock'>Dereferences the given pointer. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.deref_mut"class="method trait-impl has-srclink"><ahref="#method.deref_mut"class="anchor">§</a><h4class="code-header">unsafe fn <aclass="fn">deref_mut</a><'a>(ptr: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&'a mut </a>T</h4></section></summary><divclass='docblock'>Mutably dereferences the given pointer. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.drop"class="method trait-impl has-srclink"><ahref="#method.drop"class="anchor">§</a><h4class="code-header">unsafe fn <aclass="fn">drop</a>(ptr: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a>)</h4></section></summary><divclass='docblock'>Drops the object pointed to by the given pointer. <a>Read more</a></div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"><summary><sectionid="impl-Same%3CT%3E-for-BTreeSet%3CT%2C%20A%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/typenum/1.16.0/src/typenum/type_operators.rs.html#34">source</a><ahref="#impl-Same%3CT%3E-for-BTreeSet%3CT%2C%20A%3E"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://docs.rs/typenum/1.16.0/typenum/type_operators/trait.Same.html"title="trait typenum::type_operators::Same">Same</a><T> for T</h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Output-4"class="associatedtype trait-impl has-srclink"><ahref="#associatedtype.Output-4"class="anchor">§</a><h4class="code-header">type <ahref="https://docs.rs/typenum/1.16.0/typenum/ty
<ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html"title="WithDispatch"><code>WithDispatch</code></a> wrapper. <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.with_current_subscriber"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#221">source</a><ahref="#method.with_current_subscriber"class="anchor">§</a><h4class="code-header">fn <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber"class="fn">with_current_subscriber</a>(self) -><aclass="struct"href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html"title="struct tracing::instrument::WithDispatch">WithDispatch</a><Self></h4></section></summary><divclass='docblock'>Attaches the current <ahref="https://docs.rs/tracing/0.1.37/tracing/dispatcher/index.html#setting-the-default-subscriber">default</a><ahref="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a