You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Trac3r-rust/doc/xdg/struct.BaseDirectories.html

160 lines
62 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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 `BaseDirectories` struct in crate `xdg`."><meta name="keywords" content="rust, rustlang, rust-lang, BaseDirectories"><title>xdg::BaseDirectories - 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><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="../favicon.ico"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></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><a href='../xdg/index.html'><div class='logo-container'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Struct BaseDirectories</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><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.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.get_cache_home">get_cache_home</a><a href="#method.get_config_dirs">get_config_dirs</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_home">get_data_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.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.with_prefix">with_prefix</a><a href="#method.with_profile">with_profile</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><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><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><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><p class='location'><a href='index.html'>xdg</a></p><script>window.sidebarCurrent = {name: 'BaseDirectories', 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"><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><a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><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#71-80' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='index.html'>xdg</a>::<wbr><a class="struct" href=''>BaseDirectories</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct BaseDirectories { /* fields omitted */ }</pre></div><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 four kinds of files:</p>
<ul>
<li><strong>Configuration files</strong> store the application's 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>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>
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
<p>To configure paths for application <code>myapp</code>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<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</span>::<span class="ident">BaseDirectories</span>::<span class="ident">with_prefix</span>(<span class="string">&quot;myapp&quot;</span>).<span class="ident">unwrap</span>();</pre></div>
<p>To store configuration:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<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="macro">try</span><span class="macro">!</span>(<span class="ident">File</span>::<span class="ident">create</span>(<span class="ident">config_path</span>));
<span class="macro">try</span><span class="macro">!</span>(<span class="macro">write</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">config_file</span>, <span class="string">&quot;configured = 1&quot;</span>));</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">
<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="macro">try</span><span class="macro">!</span>(<span class="ident">File</span>::<span class="ident">open</span>(<span class="ident">logo_path</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</span>::<span class="ident">new</span>();
<span class="macro">try</span><span class="macro">!</span>(<span class="ident">logo_file</span>.<span class="ident">read_to_end</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">logo</span>));</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><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl <a class="struct" href="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../src/xdg/lib.rs.html#174-528' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code id='new.v'>pub fn <a href='#method.new' class='fnname'>new</a>() -&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="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a>, <a class="struct" href="../xdg/struct.BaseDirectoriesError.html" title="struct xdg::BaseDirectoriesError">BaseDirectoriesError</a>&gt;</code><a class='srclink' href='../src/xdg/lib.rs.html#192-194' title='goto source code'>[src]</a></h4><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>std::env::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_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><h4 id='method.with_prefix' class="method"><code id='with_prefix.v'>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/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a>, <a class="struct" href="../xdg/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/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><a class='srclink' href='../src/xdg/lib.rs.html#198-201' title='goto source code'>[src]</a></h4><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><h4 id='method.with_profile' class="method"><code id='with_profile.v'>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/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a>, <a class="struct" href="../xdg/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/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;,<br>&nbsp;&nbsp;&nbsp;&nbsp;P2: <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><a class='srclink' href='../src/xdg/lib.rs.html#220-224' title='goto source code'>[src]</a></h4><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 &quot;profiles&quot; with different user-specific data.</p>
<p>For example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">let</span> <span class="ident">dirs</span> <span class="op">=</span> <span class="ident">BaseDirectories</span>::<span class="ident">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>);</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><h4 id='method.has_runtime_directory' class="method"><code id='has_runtime_directory.v'>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/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/xdg/lib.rs.html#312-317' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns <code>true</code> if <code>XDG_RUNTIME_DIR</code> is available, <code>false</code> otherwise.</p>
</div><h4 id='method.place_config_file' class="method"><code id='place_config_file.v'>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/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#323-326' title='goto source code'>[src]</a></h4><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><h4 id='method.place_data_file' class="method"><code id='place_data_file.v'>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/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#330-333' title='goto source code'>[src]</a></h4><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><h4 id='method.place_cache_file' class="method"><code id='place_cache_file.v'>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/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#337-340' title='goto source code'>[src]</a></h4><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><h4 id='method.place_runtime_file' class="method"><code id='place_runtime_file.v'>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/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#345-348' title='goto source code'>[src]</a></h4><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><h4 id='method.find_config_file' class="method"><code id='find_config_file.v'>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/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#353-357' title='goto source code'>[src]</a></h4><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><h4 id='method.find_config_files' class="method"><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="struct" href="../xdg/struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a></span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../xdg/struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a></h3><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="../xdg/struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a></span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>;</span></code></div></div><code id='find_config_files.v'>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="../xdg/struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a> <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><a class='srclink' href='../src/xdg/lib.rs.html#363-367' title='goto source code'>[src]</a></h4><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><h4 id='method.find_data_file' class="method"><code id='find_data_file.v'>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/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#372-376' title='goto source code'>[src]</a></h4><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><h4 id='method.find_data_files' class="method"><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="struct" href="../xdg/struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a></span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../xdg/struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a></h3><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="../xdg/struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a></span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>;</span></code></div></div><code id='find_data_files.v'>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="../xdg/struct.FileFindIterator.html" title="struct xdg::FileFindIterator">FileFindIterator</a> <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><a class='srclink' href='../src/xdg/lib.rs.html#382-386' title='goto source code'>[src]</a></h4><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><h4 id='method.find_cache_file' class="method"><code id='find_cache_file.v'>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/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#390-394' title='goto source code'>[src]</a></h4><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><h4 id='method.find_runtime_file' class="method"><code id='find_runtime_file.v'>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/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#399-407' title='goto source code'>[src]</a></h4><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><h4 id='method.create_config_directory' class="method"><code id='create_config_directory.v'>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/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#413-417' title='goto source code'>[src]</a></h4><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><h4 id='method.create_data_directory' class="method"><code id='create_data_directory.v'>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/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#421-425' title='goto source code'>[src]</a></h4><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><h4 id='method.create_cache_directory' class="method"><code id='create_cache_directory.v'>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/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#429-433' title='goto source code'>[src]</a></h4><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><h4 id='method.create_runtime_directory' class="method"><code id='create_runtime_directory.v'>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/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#438-442' title='goto source code'>[src]</a></h4><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><h4 id='method.list_config_files' class="method"><code id='list_config_files.v'>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/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#447-451' title='goto source code'>[src]</a></h4><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><h4 id='method.list_config_files_once' class="method"><code id='list_config_files_once.v'>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/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#455-459' title='goto source code'>[src]</a></h4><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><h4 id='method.list_data_files' class="method"><code id='list_data_files.v'>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/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#464-468' title='goto source code'>[src]</a></h4><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><h4 id='method.list_data_files_once' class="method"><code id='list_data_files_once.v'>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/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#472-476' title='goto source code'>[src]</a></h4><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><h4 id='method.list_cache_files' class="method"><code id='list_cache_files.v'>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/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#480-484' title='goto source code'>[src]</a></h4><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><h4 id='method.list_runtime_files' class="method"><code id='list_runtime_files.v'>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/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/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/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><a class='srclink' href='../src/xdg/lib.rs.html#489-497' title='goto source code'>[src]</a></h4><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><h4 id='method.get_data_home' class="method"><code id='get_data_home.v'>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/nightly/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a></code><a class='srclink' href='../src/xdg/lib.rs.html#500-502' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the user-specific data directory (set by <code>XDG_DATA_HOME</code>).</p>
</div><h4 id='method.get_config_home' class="method"><code id='get_config_home.v'>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/nightly/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a></code><a class='srclink' href='../src/xdg/lib.rs.html#506-508' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the user-specific configuration directory (set by
<code>XDG_CONFIG_HOME</code>).</p>
</div><h4 id='method.get_cache_home' class="method"><code id='get_cache_home.v'>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/nightly/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a></code><a class='srclink' href='../src/xdg/lib.rs.html#512-514' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the user-specific directory for non-essential (cached) data
(set by <code>XDG_CACHE_HOME</code>).</p>
</div><h4 id='method.get_data_dirs' class="method"><code id='get_data_dirs.v'>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/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt;</code><a class='srclink' href='../src/xdg/lib.rs.html#519-521' title='goto source code'>[src]</a></h4><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><h4 id='method.get_config_dirs' class="method"><code id='get_config_dirs.v'>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/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>&gt;</code><a class='srclink' href='../src/xdg/lib.rs.html#525-527' title='goto source code'>[src]</a></h4><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></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Clone' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></code><a href='#impl-Clone' class='anchor'></a><a class='srclink' href='../src/xdg/lib.rs.html#70' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.clone' class="method hidden"><code id='clone.v'>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="struct" href="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></code><a class='srclink' href='../src/xdg/lib.rs.html#70' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method hidden"><code id='clone_from.v'>fn <a href='https://doc.rust-lang.org/nightly/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/nightly/std/primitive.reference.html">&amp;</a>Self)</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#131-133' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></div><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></code><a href='#impl-Debug' class='anchor'></a><a class='srclink' href='../src/xdg/lib.rs.html#70' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.fmt' class="method hidden"><code id='fmt.v'>fn <a href='https://doc.rust-lang.org/nightly/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/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class='srclink' href='../src/xdg/lib.rs.html#70' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></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'><code class='in-band'>impl <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="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><code class='in-band'>impl <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="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../xdg/struct.BaseDirectories.html" title="struct xdg::BaseDirectories">BaseDirectories</a></code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></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'><h3 id='impl-ToOwned' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></code><a href='#impl-ToOwned' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-92' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Owned' class="type"><code id='Owned.t'>type <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned' class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div><h4 id='method.to_owned' class="method hidden"><code id='to_owned.v'>fn <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned' class='fnname'>to_owned</a>(&amp;self) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#85-87' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div><h4 id='method.clone_into' class="method hidden"><code id='clone_into.v'>fn <a href='https://doc.rust-lang.org/nightly/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/nightly/std/primitive.reference.html">&amp;mut </a>T)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#89-91' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><details><summary><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></div><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#544-549' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#546-548' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#553-555' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code id='from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(t: T) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#554' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#572-578' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code id='Error.t'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error' class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/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/nightly/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/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#575-577' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryInto%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#560-567' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-1' class="type"><code id='Error.t-1'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error' class="type">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_into' class="method hidden"><code id='try_into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into' class='fnname'>try_into</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;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#564-566' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowMut%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow_mut' class="method hidden"><code id='borrow_mut.v'>fn <a href='https://doc.rust-lang.org/nightly/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/nightly/std/primitive.reference.html">&amp;mut </a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow' class="method hidden"><code id='borrow.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id='impl-Any' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code id='type_id.v'>fn <a href='https://doc.rust-lang.org/nightly/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/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></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><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../";window.currentCrate = "xdg";</script><script src="../aliases.js"></script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>