This repository has been archived on 2022-04-04. You can view files and clone it, but cannot push or open issues or pull requests.
ludum-dare-50/rustdoc/xdg/struct.BaseDirectories.html

183 lines
84 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="BaseDirectories allows to look up paths to configuration, data, cache and runtime files in well-known locations according to the [X Desktop Group Base Directory specification][xdg-basedir]. [xdg-basedir]: http:&#x2F;&#x2F;standards.freedesktop.org&#x2F;basedir-spec&#x2F;basedir-spec-latest.html"><meta name="keywords" content="rust, rustlang, rust-lang, BaseDirectories"><title>BaseDirectories in xdg - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><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="../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../dark.css" disabled><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script src="../crates.js"></script><script defer src="../main.js"></script>
<noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a class="sidebar-logo" href="../xdg/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.png" alt="logo"></div>
</a><h2 class="location">Struct BaseDirectories</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><div class="sidebar-links"><a href="#method.create_cache_directory">create_cache_directory</a><a href="#method.create_config_directory">create_config_directory</a><a href="#method.create_data_directory">create_data_directory</a><a href="#method.create_runtime_directory">create_runtime_directory</a><a href="#method.create_state_directory">create_state_directory</a><a href="#method.find_cache_file">find_cache_file</a><a href="#method.find_config_file">find_config_file</a><a href="#method.find_config_files">find_config_files</a><a href="#method.find_data_file">find_data_file</a><a href="#method.find_data_files">find_data_files</a><a href="#method.find_runtime_file">find_runtime_file</a><a href="#method.find_state_file">find_state_file</a><a href="#method.get_cache_file">get_cache_file</a><a href="#method.get_cache_home">get_cache_home</a><a href="#method.get_config_dirs">get_config_dirs</a><a href="#method.get_config_file">get_config_file</a><a href="#method.get_config_home">get_config_home</a><a href="#method.get_data_dirs">get_data_dirs</a><a href="#method.get_data_file">get_data_file</a><a href="#method.get_data_home">get_data_home</a><a href="#method.get_runtime_directory">get_runtime_directory</a><a href="#method.get_runtime_file">get_runtime_file</a><a href="#method.get_state_file">get_state_file</a><a href="#method.get_state_home">get_state_home</a><a href="#method.has_runtime_directory">has_runtime_directory</a><a href="#method.list_cache_files">list_cache_files</a><a href="#method.list_config_files">list_config_files</a><a href="#method.list_config_files_once">list_config_files_once</a><a href="#method.list_data_files">list_data_files</a><a href="#method.list_data_files_once">list_data_files_once</a><a href="#method.list_runtime_files">list_runtime_files</a><a href="#method.list_state_files">list_state_files</a><a href="#method.new">new</a><a href="#method.place_cache_file">place_cache_file</a><a href="#method.place_config_file">place_config_file</a><a href="#method.place_data_file">place_data_file</a><a href="#method.place_runtime_file">place_runtime_file</a><a href="#method.place_state_file">place_state_file</a><a href="#method.with_prefix">with_prefix</a><a href="#method.with_profile">with_profile</a></div><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a></div></div><h2 class="location">Other items in<br><a href="index.html">xdg</a></h2><div id="sidebar-vars" data-name="BaseDirectories" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../xdg/index.html"><img class="rust-logo" src="../rust-logo.png" alt="logo"></a><nav class="sub"><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">xdg</a>::<wbr><a class="struct" href="#">BaseDirectories</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></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><a class="srclink" href="../src/xdg/lib.rs.html#75-85" title="goto source code">[src]</a></span></h1><div class="docblock item-decl"><pre class="rust struct"><code>pub struct BaseDirectories { /* fields omitted */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>BaseDirectories allows to look up paths to configuration, data,
cache and runtime files in well-known locations according to
the [X Desktop Group Base Directory specification][xdg-basedir].
[xdg-basedir]: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html</p>
<p>The Base Directory specification defines five kinds of files:</p>
<ul>
<li><strong>Configuration files</strong> store the applications settings and
are often modified during runtime;</li>
<li><strong>Data files</strong> store supplementary data, such as graphic assets,
precomputed tables, documentation, or architecture-independent
source code;</li>
<li><strong>Cache files</strong> store non-essential, transient data that provides
a runtime speedup;</li>
<li><strong>State files</strong> store logs, history, recently used files and application
state (window size, open files, unsaved changes, …);</li>
<li><strong>Runtime files</strong> include filesystem objects such are sockets or
named pipes that are used for communication internal to the application.
Runtime files must not be accessible to anyone except current user.</li>
</ul>
<h2 id="examples" class="section-header"><a href="#examples">Examples</a></h2>
<p>To configure paths for application <code>myapp</code>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">xdg</span>;
<span class="kw">let</span> <span class="ident">xdg_dirs</span> <span class="op">=</span> <span class="ident">xdg::BaseDirectories::with_prefix</span>(<span class="string">&quot;myapp&quot;</span>).<span class="ident">unwrap</span>();</code></pre></div>
<p>To store configuration:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">config_path</span> <span class="op">=</span> <span class="ident">xdg_dirs</span>.<span class="ident">place_config_file</span>(<span class="string">&quot;config.ini&quot;</span>)
.<span class="ident">expect</span>(<span class="string">&quot;cannot create configuration directory&quot;</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">config_file</span> <span class="op">=</span> <span class="ident">File::create</span>(<span class="ident">config_path</span>)<span class="question-mark">?</span>;
<span class="macro">write!</span>(<span class="kw-2">&amp;mut</span> <span class="ident">config_file</span>, <span class="string">&quot;configured = 1&quot;</span>)<span class="question-mark">?</span>;</code></pre></div>
<p>The <code>config.ini</code> file will appear in the proper location for desktop
configuration files, most likely <code>~/.config/myapp/config.ini</code>.
The leading directories will be automatically created.</p>
<p>To retrieve supplementary data:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">logo_path</span> <span class="op">=</span> <span class="ident">xdg_dirs</span>.<span class="ident">find_data_file</span>(<span class="string">&quot;logo.png&quot;</span>)
.<span class="ident">expect</span>(<span class="string">&quot;application data not present&quot;</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">logo_file</span> <span class="op">=</span> <span class="ident">File::open</span>(<span class="ident">logo_path</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">logo</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="ident">logo_file</span>.<span class="ident">read_to_end</span>(<span class="kw-2">&amp;mut</span> <span class="ident">logo</span>)<span class="question-mark">?</span>;</code></pre></div>
<p>The <code>logo.png</code> will be searched in the proper locations for
supplementary data files, most likely <code>~/.local/share/myapp/logo.png</code>,
then <code>/usr/local/share/myapp/logo.png</code> and <code>/usr/share/myapp/logo.png</code>.</p>
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#179-613" title="goto source code">[src]</a></div><a href="#impl" class="anchor"></a><h3 class="code-header in-band">impl <a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.new" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#198-200" title="goto source code">[src]</a></div><a href="#method.new" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.new" class="fnname">new</a>() -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a>, <a class="struct" href="struct.BaseDirectoriesError.html" title="struct xdg::BaseDirectoriesError">BaseDirectoriesError</a>&gt;</h4></div></summary><div class="docblock"><p>Reads the process environment, determines the XDG base directories,
and returns a value that can be used for lookup.
The following environment variables are examined:</p>
<ul>
<li><code>HOME</code>; if not set: use the same fallback as <code>dirs::home_dir()</code>;
if still not available: return an error.</li>
<li><code>XDG_DATA_HOME</code>; if not set: assumed to be <code>$HOME/.local/share</code>.</li>
<li><code>XDG_CONFIG_HOME</code>; if not set: assumed to be <code>$HOME/.config</code>.</li>
<li><code>XDG_CACHE_HOME</code>; if not set: assumed to be <code>$HOME/.cache</code>.</li>
<li><code>XDG_STATE_HOME</code>; if not set: assumed to be <code>$HOME/.local/state</code>.</li>
<li><code>XDG_DATA_DIRS</code>; if not set: assumed to be <code>/usr/local/share:/usr/share</code>.</li>
<li><code>XDG_CONFIG_DIRS</code>; if not set: assumed to be <code>/etc/xdg</code>.</li>
<li><code>XDG_RUNTIME_DIR</code>; if not accessible or permissions are not <code>0700</code>:
record as inaccessible (can be queried with
<a href="method.has_runtime_directory">has_runtime_directory</a>).</li>
</ul>
<p>As per specification, if an environment variable contains a relative path,
the behavior is the same as if it was not set.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.with_prefix" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#204-207" title="goto source code">[src]</a></div><a href="#method.with_prefix" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.with_prefix" class="fnname">with_prefix</a>&lt;P&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;prefix: P<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a>, <a class="struct" href="struct.BaseDirectoriesError.html" title="struct xdg::BaseDirectoriesError">BaseDirectoriesError</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Same as <a href="#method.new"><code>new()</code></a>, but <code>prefix</code> is implicitly prepended to
every path that is looked up.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.with_profile" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#226-230" title="goto source code">[src]</a></div><a href="#method.with_profile" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.with_profile" class="fnname">with_profile</a>&lt;P1, P2&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;prefix: P1, <br>&nbsp;&nbsp;&nbsp;&nbsp;profile: P2<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a>, <a class="struct" href="struct.BaseDirectoriesError.html" title="struct xdg::BaseDirectoriesError">BaseDirectoriesError</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P1: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;P2: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Same as <a href="#method.with_prefix"><code>with_prefix()</code></a>,
with <code>profile</code> also implicitly prepended to every path that is looked up,
but only for user-specific directories.</p>
<p>This allows each user to have mutliple “profiles” with different user-specific data.</p>
<p>For example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">dirs</span> <span class="op">=</span> <span class="ident">BaseDirectories::with_profile</span>(<span class="string">&quot;program-name&quot;</span>, <span class="string">&quot;profile-name&quot;</span>)
.<span class="ident">unwrap</span>();
<span class="ident">dirs</span>.<span class="ident">find_data_file</span>(<span class="string">&quot;bar.jpg&quot;</span>);
<span class="ident">dirs</span>.<span class="ident">find_config_file</span>(<span class="string">&quot;foo.conf&quot;</span>);</code></pre></div>
<p>will find <code>/usr/share/program-name/bar.jpg</code> (without <code>profile-name</code>)
and <code>~/.config/program-name/profile-name/foo.conf</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_runtime_directory" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#301-320" title="goto source code">[src]</a></div><a href="#method.get_runtime_directory" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_runtime_directory" class="fnname">get_runtime_directory</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>, <a class="struct" href="struct.BaseDirectoriesError.html" title="struct xdg::BaseDirectoriesError">BaseDirectoriesError</a>&gt;</h4></div></summary><div class="docblock"><p>Returns the user-specific runtime directory (set by <code>XDG_RUNTIME_DIR</code>).</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.has_runtime_directory" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#323-328" title="goto source code">[src]</a></div><a href="#method.has_runtime_directory" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.has_runtime_directory" class="fnname">has_runtime_directory</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a></h4></div></summary><div class="docblock"><p>Returns <code>true</code> if <code>XDG_RUNTIME_DIR</code> is available, <code>false</code> otherwise.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_config_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#332-335" title="goto source code">[src]</a></div><a href="#method.get_config_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_config_file" class="fnname">get_config_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.place_config_file"><code>place_config_file()</code></a>, but does
not create any directories.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_data_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#339-342" title="goto source code">[src]</a></div><a href="#method.get_data_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_data_file" class="fnname">get_data_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.place_data_file"><code>place_data_file()</code></a>, but does
not create any directories.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_cache_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#346-349" title="goto source code">[src]</a></div><a href="#method.get_cache_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_cache_file" class="fnname">get_cache_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.place_cache_file"><code>place_cache_file()</code></a>, but does
not create any directories.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_state_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#353-356" title="goto source code">[src]</a></div><a href="#method.get_state_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_state_file" class="fnname">get_state_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.place_state_file"><code>place_state_file()</code></a>, but does
not create any directories.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_runtime_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#361-365" title="goto source code">[src]</a></div><a href="#method.get_runtime_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_runtime_file" class="fnname">get_runtime_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.place_runtime_file"><code>place_runtime_file()</code></a>, but does
not create any directories.
If <code>XDG_RUNTIME_DIR</code> is not available, returns an error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.place_config_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#371-374" title="goto source code">[src]</a></div><a href="#method.place_config_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.place_config_file" class="fnname">place_config_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, returns an absolute path in
<code>XDG_CONFIG_HOME</code> where a configuration file may be stored.
Leading directories in the returned path are pre-created;
if that is not possible, an error is returned.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.place_data_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#378-381" title="goto source code">[src]</a></div><a href="#method.place_data_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.place_data_file" class="fnname">place_data_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.place_config_file"><code>place_config_file()</code></a>, but for
a data file in <code>XDG_DATA_HOME</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.place_cache_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#385-388" title="goto source code">[src]</a></div><a href="#method.place_cache_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.place_cache_file" class="fnname">place_cache_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.place_config_file"><code>place_config_file()</code></a>, but for
a cache file in <code>XDG_CACHE_HOME</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.place_state_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#392-395" title="goto source code">[src]</a></div><a href="#method.place_state_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.place_state_file" class="fnname">place_state_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.place_config_file"><code>place_config_file()</code></a>, but for
an application state file in <code>XDG_STATE_HOME</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.place_runtime_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#400-403" title="goto source code">[src]</a></div><a href="#method.place_runtime_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.place_runtime_file" class="fnname">place_runtime_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.place_config_file"><code>place_config_file()</code></a>, but for
a runtime file in <code>XDG_RUNTIME_DIR</code>.
If <code>XDG_RUNTIME_DIR</code> is not available, returns an error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.find_config_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#408-412" title="goto source code">[src]</a></div><a href="#method.find_config_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.find_config_file" class="fnname">find_config_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, returns an absolute path to an existing
configuration file, or <code>None</code>. Searches <code>XDG_CONFIG_HOME</code> and then
<code>XDG_CONFIG_DIRS</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.find_config_files" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#418-422" title="goto source code">[src]</a></div><a href="#method.find_config_files" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.find_config_files" class="fnname">find_config_files</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a><span class="notable-traits"><span class="notable-traits-tooltip"><div class="notable-traits-tooltiptext"><span class="docblock"><div class="notable">Notable traits for <a class="struct" href="struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a></div><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a></span><span class="where fmt-newline"> type <a href="https://doc.rust-lang.org/1.59.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>;</span></code></span></div></span></span> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, returns an iterator yielding absolute
paths to existing configuration files, in <code>XDG_CONFIG_DIRS</code> and
<code>XDG_CONFIG_HOME</code>. Paths are produced in order from lowest priority
to highest.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.find_data_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#427-431" title="goto source code">[src]</a></div><a href="#method.find_data_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.find_data_file" class="fnname">find_data_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, returns an absolute path to an existing
data file, or <code>None</code>. Searches <code>XDG_DATA_HOME</code> and then
<code>XDG_DATA_DIRS</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.find_data_files" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#437-441" title="goto source code">[src]</a></div><a href="#method.find_data_files" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.find_data_files" class="fnname">find_data_files</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a><span class="notable-traits"><span class="notable-traits-tooltip"><div class="notable-traits-tooltiptext"><span class="docblock"><div class="notable">Notable traits for <a class="struct" href="struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a></div><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a></span><span class="where fmt-newline"> type <a href="https://doc.rust-lang.org/1.59.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>;</span></code></span></div></span></span> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, returns an iterator yielding absolute
paths to existing data files, in <code>XDG_DATA_DIRS</code> and
<code>XDG_DATA_HOME</code>. Paths are produced in order from lowest priority
to highest.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.find_cache_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#445-449" title="goto source code">[src]</a></div><a href="#method.find_cache_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.find_cache_file" class="fnname">find_cache_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, returns an absolute path to an existing
cache file, or <code>None</code>. Searches <code>XDG_CACHE_HOME</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.find_state_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#453-457" title="goto source code">[src]</a></div><a href="#method.find_state_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.find_state_file" class="fnname">find_state_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, returns an absolute path to an existing
application state file, or <code>None</code>. Searches <code>XDG_STATE_HOME</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.find_runtime_file" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#462-470" title="goto source code">[src]</a></div><a href="#method.find_runtime_file" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.find_runtime_file" class="fnname">find_runtime_file</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, returns an absolute path to an existing
runtime file, or <code>None</code>. Searches <code>XDG_RUNTIME_DIR</code>.
If <code>XDG_RUNTIME_DIR</code> is not available, returns <code>None</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.create_config_directory" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#476-480" title="goto source code">[src]</a></div><a href="#method.create_config_directory" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.create_config_directory" class="fnname">create_config_directory</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, returns an absolute path to a configuration
directory in <code>XDG_CONFIG_HOME</code>. The directory and all directories
leading to it are created if they did not exist;
if that is not possible, an error is returned.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.create_data_directory" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#484-488" title="goto source code">[src]</a></div><a href="#method.create_data_directory" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.create_data_directory" class="fnname">create_data_directory</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.create_config_directory"><code>create_config_directory()</code></a>,
but for a data directory in <code>XDG_DATA_HOME</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.create_cache_directory" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#492-496" title="goto source code">[src]</a></div><a href="#method.create_cache_directory" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.create_cache_directory" class="fnname">create_cache_directory</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.create_config_directory"><code>create_config_directory()</code></a>,
but for a cache directory in <code>XDG_CACHE_HOME</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.create_state_directory" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#500-504" title="goto source code">[src]</a></div><a href="#method.create_state_directory" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.create_state_directory" class="fnname">create_state_directory</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.create_config_directory"><code>create_config_directory()</code></a>,
but for an application state directory in <code>XDG_STATE_HOME</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.create_runtime_directory" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#509-513" title="goto source code">[src]</a></div><a href="#method.create_runtime_directory" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.create_runtime_directory" class="fnname">create_runtime_directory</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.create_config_directory"><code>create_config_directory()</code></a>,
but for a runtime directory in <code>XDG_RUNTIME_DIR</code>.
If <code>XDG_RUNTIME_DIR</code> is not available, returns an error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.list_config_files" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#518-522" title="goto source code">[src]</a></div><a href="#method.list_config_files" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.list_config_files" class="fnname">list_config_files</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, list absolute paths to all files
in directories with path <code>path</code> in <code>XDG_CONFIG_HOME</code> and
<code>XDG_CONFIG_DIRS</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.list_config_files_once" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#526-530" title="goto source code">[src]</a></div><a href="#method.list_config_files_once" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.list_config_files_once" class="fnname">list_config_files_once</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.list_config_files"><code>list_config_files</code></a>, but
only the first occurence of every distinct filename is returned.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.list_data_files" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#535-539" title="goto source code">[src]</a></div><a href="#method.list_data_files" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.list_data_files" class="fnname">list_data_files</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, lists absolute paths to all files
in directories with path <code>path</code> in <code>XDG_DATA_HOME</code> and
<code>XDG_DATA_DIRS</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.list_data_files_once" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#543-547" title="goto source code">[src]</a></div><a href="#method.list_data_files_once" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.list_data_files_once" class="fnname">list_data_files_once</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Like <a href="#method.list_data_files"><code>list_data_files</code></a>, but
only the first occurence of every distinct filename is returned.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.list_cache_files" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#551-555" title="goto source code">[src]</a></div><a href="#method.list_cache_files" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.list_cache_files" class="fnname">list_cache_files</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, lists absolute paths to all files
in directories with path <code>path</code> in <code>XDG_CACHE_HOME</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.list_state_files" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#559-563" title="goto source code">[src]</a></div><a href="#method.list_state_files" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.list_state_files" class="fnname">list_state_files</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, lists absolute paths to all files
in directories with path <code>path</code> in <code>XDG_STATE_HOME</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.list_runtime_files" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#568-576" title="goto source code">[src]</a></div><a href="#method.list_runtime_files" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.list_runtime_files" class="fnname">list_runtime_files</a>&lt;P&gt;(&amp;self, path: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Given a relative path <code>path</code>, lists absolute paths to all files
in directories with path <code>path</code> in <code>XDG_RUNTIME_DIR</code>.
If <code>XDG_RUNTIME_DIR</code> is not available, returns an empty <code>Vec</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_data_home" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#579-581" title="goto source code">[src]</a></div><a href="#method.get_data_home" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_data_home" class="fnname">get_data_home</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a></h4></div></summary><div class="docblock"><p>Returns the user-specific data directory (set by <code>XDG_DATA_HOME</code>).</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_config_home" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#585-587" title="goto source code">[src]</a></div><a href="#method.get_config_home" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_config_home" class="fnname">get_config_home</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a></h4></div></summary><div class="docblock"><p>Returns the user-specific configuration directory (set by
<code>XDG_CONFIG_HOME</code>).</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_cache_home" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#591-593" title="goto source code">[src]</a></div><a href="#method.get_cache_home" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_cache_home" class="fnname">get_cache_home</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a></h4></div></summary><div class="docblock"><p>Returns the user-specific directory for non-essential (cached) data
(set by <code>XDG_CACHE_HOME</code>).</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_state_home" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#597-599" title="goto source code">[src]</a></div><a href="#method.get_state_home" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_state_home" class="fnname">get_state_home</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a></h4></div></summary><div class="docblock"><p>Returns the user-specific directory for application state data
(set by <code>XDG_STATE_HOME</code>).</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_data_dirs" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#604-606" title="goto source code">[src]</a></div><a href="#method.get_data_dirs" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_data_dirs" class="fnname">get_data_dirs</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt;</h4></div></summary><div class="docblock"><p>Returns a preference ordered (preferred to less preferred) list of
supplementary data directories, ordered by preference (set by
<code>XDG_DATA_DIRS</code>).</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_config_dirs" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#610-612" title="goto source code">[src]</a></div><a href="#method.get_config_dirs" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_config_dirs" class="fnname">get_config_dirs</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.59.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt;</h4></div></summary><div class="docblock"><p>Returns a preference ordered (preferred to less preferred) list of
supplementary configuration directories (set by <code>XDG_CONFIG_DIRS</code>).</p>
</div></details></div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Clone" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#74" title="goto source code">[src]</a></div><a href="#impl-Clone" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#74" title="goto source code">[src]</a></div><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></h4></div></summary><div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone_from" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/clone.rs.html#130" title="goto source code">[src]</a></div><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;</a>Self)</h4></div></summary><div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Debug" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#74" title="goto source code">[src]</a></div><a href="#impl-Debug" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/xdg/lib.rs.html#74" title="goto source code">[src]</a></div><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div></summary><div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></details></div></details></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"><div id="impl-RefUnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-RefUnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></h3></div><div id="impl-Send" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Send" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></h3></div><div id="impl-Sync" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Sync" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></h3></div><div id="impl-Unpin" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Unpin" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></h3></div><div id="impl-UnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-UnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></h3></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Any" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/any.rs.html#132-136" title="goto source code">[src]</a></div><a href="#impl-Any" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.type_id" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/any.rs.html#133" title="goto source code">[src]</a></div><a href="#method.type_id" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></div></summary><div class='docblock'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.59.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Borrow%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#209-214" title="goto source code">[src]</a></div><a href="#impl-Borrow%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#211" title="goto source code">[src]</a></div><a href="#method.borrow" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;</a>T</h4></div></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-BorrowMut%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#218-222" title="goto source code">[src]</a></div><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#219" title="goto source code">[src]</a></div><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;mut </a>T</h4></div></summary><div class='docblock'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#550-554" title="goto source code">[src]</a></div><a href="#impl-From%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#551" title="goto source code">[src]</a></div><a href="#method.from" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Into%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#538-545" title="goto source code">[src]</a></div><a href="#impl-Into%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#542" title="goto source code">[src]</a></div><a href="#method.into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -&gt; U</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-ToOwned" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/alloc/borrow.rs.html#84-96" title="goto source code">[src]</a></div><a href="#impl-ToOwned" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Owned" class="type trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></div></summary><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.to_owned" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/alloc/borrow.rs.html#89" title="goto source code">[src]</a></div><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&amp;self) -&gt; T</h4></div></summary><div class='docblock'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/alloc/borrow.rs.html#93" title="goto source code">[src]</a></div><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;mut </a>T)</h4></div></summary><div class="item-info"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</div></div><div class='docblock'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryFrom%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#588-597" title="goto source code">[src]</a></div><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error-1" class="type trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></div></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#594" title="goto source code">[src]</a></div><a href="#method.try_from" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryInto%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#574-583" title="goto source code">[src]</a></div><a href="#impl-TryInto%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error" class="type trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></div></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#580" title="goto source code">[src]</a></div><a href="#method.try_into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="xdg" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.59.0 (9d1b2106e 2022-02-23)" ></div>
</body></html>