mentat/docs/apis/rust/mentat_ffi/struct.InProgress.html
2018-06-22 18:25:54 +01:00

153 lines
No EOL
38 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="rustdoc">
<meta name="description" content="API documentation for the Rust `InProgress` struct in crate `mentat_ffi`.">
<meta name="keywords" content="rust, rustlang, rust-lang, InProgress">
<title>mentat_ffi::InProgress - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css"
id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct InProgress</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.builder">builder</a><a href="#method.use_caching">use_caching</a><a href="#method.transact_builder">transact_builder</a><a href="#method.transact_terms">transact_terms</a><a href="#method.transact_entities">transact_entities</a><a href="#method.transact">transact</a><a href="#method.import">import</a><a href="#method.rollback">rollback</a><a href="#method.commit">commit</a><a href="#method.cache">cache</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Pullable">Pullable</a><a href="#impl-VersionedStore">VersionedStore</a><a href="#impl-Queryable">Queryable</a><a href="#impl-HasSchema">HasSchema</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a></div></div><p class='location'><a href='index.html'>mentat_ffi</a></p><script>window.sidebarCurrent = {name: 'InProgress', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content"><h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>mentat_ffi</a>::<wbr><a class="struct" href=''>InProgress</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span></span></h1><div class="docblock type-decl"><pre class='rust struct'>pub struct InProgress&lt;'a, 'c&gt; { /* fields omitted */ }</pre></div><div class='docblock'><p>Represents an in-progress, not yet committed, set of changes to the store.
Call <code>commit</code> to commit your changes, or <code>rollback</code> to discard them.
A transaction is held open until you do so.
Your changes will be implicitly dropped along with this struct.</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;'a, 'c&gt; <a class="struct" href="../mentat_ffi/struct.InProgress.html" title="struct mentat_ffi::InProgress">InProgress</a>&lt;'a, 'c&gt;</code><a href='#impl' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.builder' class="method"><span id='builder.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.builder' class='fnname'>builder</a>(self) -&gt; <a class="struct" href="../mentat_ffi/struct.InProgressBuilder.html" title="struct mentat_ffi::InProgressBuilder">InProgressBuilder</a>&lt;'a, 'c&gt;</code></td><td></td></tr></tbody></table></span></h4><h4 id='method.use_caching' class="method"><span id='use_caching.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.use_caching' class='fnname'>use_caching</a>(&amp;mut self, yesno: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Choose whether to use in-memory caches for running queries.</p>
</div><h4 id='method.transact_builder' class="method"><span id='transact_builder.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.transact_builder' class='fnname'>transact_builder</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;builder: TermBuilder<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../mentat_ffi/struct.TxReport.html" title="struct mentat_ffi::TxReport">TxReport</a>, Error&gt;</code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>If you only have a reference to an <code>InProgress</code>, you can't use the easy builder.
This exists so you can make your own.</p>
</div><h4 id='method.transact_terms' class="method"><span id='transact_terms.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.transact_terms' class='fnname'>transact_terms</a>&lt;I&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;terms: I, <br>&nbsp;&nbsp;&nbsp;&nbsp;tempid_set: <a class="struct" href="../mentat_core/intern_set/struct.InternSet.html" title="struct mentat_core::intern_set::InternSet">InternSet</a>&lt;<a class="enum" href="../edn/entities/enum.TempId.html" title="enum edn::entities::TempId">TempId</a>&gt;<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../mentat_ffi/struct.TxReport.html" title="struct mentat_ffi::TxReport">TxReport</a>, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="../mentat_db/internal_types/enum.Term.html" title="enum mentat_db::internal_types::Term">Term</a>&lt;<a class="enum" href="../mentat_core/util/enum.Either.html" title="enum mentat_core::util::Either">Either</a>&lt;<a class="struct" href="../mentat_ffi/struct.KnownEntid.html" title="struct mentat_ffi::KnownEntid">KnownEntid</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;<a class="enum" href="../edn/entities/enum.TempId.html" title="enum edn::entities::TempId">TempId</a>&gt;&gt;, <a class="enum" href="../mentat_core/util/enum.Either.html" title="enum mentat_core::util::Either">Either</a>&lt;<a class="enum" href="../mentat_ffi/enum.TypedValue.html" title="enum mentat_ffi::TypedValue">TypedValue</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;<a class="enum" href="../edn/entities/enum.TempId.html" title="enum edn::entities::TempId">TempId</a>&gt;&gt;&gt;&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.transact_entities' class="method"><span id='transact_entities.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.transact_entities' class='fnname'>transact_entities</a>&lt;I, V&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;entities: I<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../mentat_ffi/struct.TxReport.html" title="struct mentat_ffi::TxReport">TxReport</a>, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = <a class="enum" href="../edn/entities/enum.Entity.html" title="enum edn::entities::Entity">Entity</a>&lt;V&gt;&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../mentat_db/types/trait.TransactableValue.html" title="trait mentat_db::types::TransactableValue">TransactableValue</a>,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.transact' class="method"><span id='transact.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.transact' class='fnname'>transact</a>&lt;B&gt;(&amp;mut self, transaction: B) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../mentat_ffi/struct.TxReport.html" title="struct mentat_ffi::TxReport">TxReport</a>, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.import' class="method"><span id='import.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.import' class='fnname'>import</a>&lt;P&gt;(&amp;mut self, path: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../mentat_ffi/struct.TxReport.html" title="struct mentat_ffi::TxReport">TxReport</a>, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.rollback' class="method"><span id='rollback.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.rollback' class='fnname'>rollback</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error&gt;</code></td><td></td></tr></tbody></table></span></h4><h4 id='method.commit' class="method"><span id='commit.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.commit' class='fnname'>commit</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error&gt;</code></td><td></td></tr></tbody></table></span></h4><h4 id='method.cache' class="method"><span id='cache.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.cache' class='fnname'>cache</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;attribute: &amp;<a class="struct" href="../edn/symbols/struct.Keyword.html" title="struct edn::symbols::Keyword">Keyword</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;cache_direction: <a class="enum" href="../mentat_ffi/enum.CacheDirection.html" title="enum mentat_ffi::CacheDirection">CacheDirection</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;cache_action: CacheAction<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error&gt;</code></td><td></td></tr></tbody></table></span></h4></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<div id='implementations-list'>
<h3 id='impl-Pullable' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;'a, 'c&gt; Pullable for <a class="struct" href="../mentat_ffi/struct.InProgress.html" title="struct mentat_ffi::InProgress">InProgress</a>&lt;'a, 'c&gt;</code><a href='#impl-Pullable' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.pull_attributes_for_entities' class="method"><span id='pull_attributes_for_entities.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.pull_attributes_for_entities' class='fnname'>pull_attributes_for_entities</a>&lt;E, A&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;entities: E, <br>&nbsp;&nbsp;&nbsp;&nbsp;attributes: A<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/btree/map/struct.BTreeMap.html" title="struct alloc::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/arc/struct.Arc.html" title="struct alloc::arc::Arc">Arc</a>&lt;<a class="struct" href="../mentat_core/types/struct.StructuredMap.html" title="struct mentat_core::types::StructuredMap">StructuredMap</a>&gt;&gt;, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;E: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.pull_attributes_for_entity' class="method"><span id='pull_attributes_for_entity.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.pull_attributes_for_entity' class='fnname'>pull_attributes_for_entity</a>&lt;A&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;entity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;attributes: A<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../mentat_core/types/struct.StructuredMap.html" title="struct mentat_core::types::StructuredMap">StructuredMap</a>, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4></div><h3 id='impl-VersionedStore' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;'a, 'c&gt; VersionedStore for <a class="struct" href="../mentat_ffi/struct.InProgress.html" title="struct mentat_ffi::InProgress">InProgress</a>&lt;'a, 'c&gt;</code><a href='#impl-VersionedStore' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.ensure_vocabulary' class="method"><span id='ensure_vocabulary.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.ensure_vocabulary' class='fnname'>ensure_vocabulary</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;definition: &amp;Definition<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;VocabularyOutcome, Error&gt;</code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Check whether the provided vocabulary is present in the store. If it isn't, make it so.</p>
</div><h4 id='method.ensure_vocabularies' class="method"><span id='ensure_vocabularies.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.ensure_vocabularies' class='fnname'>ensure_vocabularies</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;vocabularies: &amp;mut VocabularySource<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/btree/map/struct.BTreeMap.html" title="struct alloc::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="struct" href="../edn/symbols/struct.Keyword.html" title="struct edn::symbols::Keyword">Keyword</a>, VocabularyOutcome&gt;, Error&gt;</code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Check whether the provided vocabularies are present in the store at the correct version and with all defined attributes. If any are not, invoke the <code>pre</code> function on the provided <code>VocabularySource</code>, install or upgrade the necessary vocabularies, then invoke <code>post</code>. Returns <code>Ok</code> if all of these steps succeed. <a href="#tymethod.ensure_vocabularies">Read more</a></p>
</div><h4 id='method.check_vocabulary' class="method"><span id='check_vocabulary.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.check_vocabulary' class='fnname'>check_vocabulary</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;definition: &amp;'definition Definition<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;VocabularyCheck&lt;'definition&gt;, Error&gt;</code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Check whether the vocabulary described by the provided metadata is present in the store.</p>
</div><h4 id='method.verify_core_schema' class="method"><span id='verify_core_schema.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.verify_core_schema' class='fnname'>verify_core_schema</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error&gt;</code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Make sure that our expectations of the core vocabulary — basic types and attributes — are met.</p>
</div></div><h3 id='impl-Queryable' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;'a, 'c&gt; <a class="trait" href="../mentat_ffi/trait.Queryable.html" title="trait mentat_ffi::Queryable">Queryable</a> for <a class="struct" href="../mentat_ffi/struct.InProgress.html" title="struct mentat_ffi::InProgress">InProgress</a>&lt;'a, 'c&gt;</code><a href='#impl-Queryable' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.q_once' class="method"><span id='q_once.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.Queryable.html#tymethod.q_once' class='fnname'>q_once</a>&lt;T&gt;(&amp;self, query: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, inputs: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../mentat_ffi/struct.QueryOutput.html" title="struct mentat_ffi::QueryOutput">QueryOutput</a>, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../mentat_ffi/struct.QueryInputs.html" title="struct mentat_ffi::QueryInputs">QueryInputs</a>&gt;&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.q_prepare' class="method"><span id='q_prepare.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.Queryable.html#tymethod.q_prepare' class='fnname'>q_prepare</a>&lt;T&gt;(&amp;self, query: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, inputs: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;PreparedQuery, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../mentat_ffi/struct.QueryInputs.html" title="struct mentat_ffi::QueryInputs">QueryInputs</a>&gt;&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.q_explain' class="method"><span id='q_explain.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.Queryable.html#tymethod.q_explain' class='fnname'>q_explain</a>&lt;T&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;query: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;inputs: T<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;QueryExplanation, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../mentat_ffi/struct.QueryInputs.html" title="struct mentat_ffi::QueryInputs">QueryInputs</a>&gt;&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.lookup_values_for_attribute' class="method"><span id='lookup_values_for_attribute.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.Queryable.html#tymethod.lookup_values_for_attribute' class='fnname'>lookup_values_for_attribute</a>&lt;E&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;entity: E, <br>&nbsp;&nbsp;&nbsp;&nbsp;attribute: &amp;<a class="struct" href="../edn/symbols/struct.Keyword.html" title="struct edn::symbols::Keyword">Keyword</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="../mentat_ffi/enum.TypedValue.html" title="enum mentat_ffi::TypedValue">TypedValue</a>&gt;, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;E: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.lookup_value_for_attribute' class="method"><span id='lookup_value_for_attribute.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.Queryable.html#tymethod.lookup_value_for_attribute' class='fnname'>lookup_value_for_attribute</a>&lt;E&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;entity: E, <br>&nbsp;&nbsp;&nbsp;&nbsp;attribute: &amp;<a class="struct" href="../edn/symbols/struct.Keyword.html" title="struct edn::symbols::Keyword">Keyword</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../mentat_ffi/enum.TypedValue.html" title="enum mentat_ffi::TypedValue">TypedValue</a>&gt;, Error&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;E: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4></div><h3 id='impl-HasSchema' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;'a, 'c&gt; <a class="trait" href="../mentat_ffi/trait.HasSchema.html" title="trait mentat_ffi::HasSchema">HasSchema</a> for <a class="struct" href="../mentat_ffi/struct.InProgress.html" title="struct mentat_ffi::InProgress">InProgress</a>&lt;'a, 'c&gt;</code><a href='#impl-HasSchema' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.entid_for_type' class="method"><span id='entid_for_type.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.HasSchema.html#tymethod.entid_for_type' class='fnname'>entid_for_type</a>(&amp;self, t: <a class="enum" href="../mentat_ffi/enum.ValueType.html" title="enum mentat_ffi::ValueType">ValueType</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../mentat_ffi/struct.KnownEntid.html" title="struct mentat_ffi::KnownEntid">KnownEntid</a>&gt;</code></td><td></td></tr></tbody></table></span></h4><h4 id='method.get_ident' class="method"><span id='get_ident.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.HasSchema.html#tymethod.get_ident' class='fnname'>get_ident</a>&lt;T&gt;(&amp;self, x: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="../edn/symbols/struct.Keyword.html" title="struct edn::symbols::Keyword">Keyword</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.get_entid' class="method"><span id='get_entid.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.HasSchema.html#tymethod.get_entid' class='fnname'>get_entid</a>(&amp;self, x: &amp;<a class="struct" href="../edn/symbols/struct.Keyword.html" title="struct edn::symbols::Keyword">Keyword</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../mentat_ffi/struct.KnownEntid.html" title="struct mentat_ffi::KnownEntid">KnownEntid</a>&gt;</code></td><td></td></tr></tbody></table></span></h4><h4 id='method.attribute_for_entid' class="method"><span id='attribute_for_entid.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.HasSchema.html#tymethod.attribute_for_entid' class='fnname'>attribute_for_entid</a>&lt;T&gt;(&amp;self, x: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="../mentat_core/struct.Attribute.html" title="struct mentat_core::Attribute">Attribute</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><h4 id='method.attribute_for_ident' class="method"><span id='attribute_for_ident.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.HasSchema.html#tymethod.attribute_for_ident' class='fnname'>attribute_for_ident</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;ident: &amp;<a class="struct" href="../edn/symbols/struct.Keyword.html" title="struct edn::symbols::Keyword">Keyword</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>&amp;<a class="struct" href="../mentat_core/struct.Attribute.html" title="struct mentat_core::Attribute">Attribute</a>, <a class="struct" href="../mentat_ffi/struct.KnownEntid.html" title="struct mentat_ffi::KnownEntid">KnownEntid</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;</code></td><td></td></tr></tbody></table></span></h4><h4 id='method.is_attribute' class="method"><span id='is_attribute.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.HasSchema.html#tymethod.is_attribute' class='fnname'>is_attribute</a>&lt;T&gt;(&amp;self, x: T) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Return true if the provided entid identifies an attribute in this schema.</p>
</div><h4 id='method.identifies_attribute' class="method"><span id='identifies_attribute.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.HasSchema.html#tymethod.identifies_attribute' class='fnname'>identifies_attribute</a>(&amp;self, x: &amp;<a class="struct" href="../edn/symbols/struct.Keyword.html" title="struct edn::symbols::Keyword">Keyword</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Return true if the provided ident identifies an attribute in this schema.</p>
</div><h4 id='method.component_attributes' class="method"><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'a [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></span></div><div class="content hidden"><h3 class="important">Important traits for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'a [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></h3><code class="content"><span class="where fmt-newline">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'a [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></span><span class="where fmt-newline">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'a mut [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></span></code></div></div><span id='component_attributes.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../mentat_ffi/trait.HasSchema.html#tymethod.component_attributes' class='fnname'>component_attributes</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></td><td></td></tr></tbody></table></span></h4></div></div>
<h2 id='synthetic-implementations' class='small-section-header'>
Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a>
</h2>
<div id='synthetic-implementations-list'>
<h3 id='impl-Send' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;'a, 'c&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../mentat_ffi/struct.InProgress.html" title="struct mentat_ffi::InProgress">InProgress</a>&lt;'a, 'c&gt;</code><a href='#impl-Send' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;'a, 'c&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../mentat_ffi/struct.InProgress.html" title="struct mentat_ffi::InProgress">InProgress</a>&lt;'a, 'c&gt;</code><a href='#impl-Sync' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "mentat_ffi";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>