This commit is contained in:
Travis CI User
2018-01-25 09:45:19 +00:00
commit 81208b2498
25123 changed files with 1422222 additions and 0 deletions

10
bitflags/bitflags.m.html Normal file
View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.bitflags.html">
</head>
<body>
<p>Redirecting to <a href="macro.bitflags.html">macro.bitflags.html</a>...</p>
<script>location.replace("macro.bitflags.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=constant.FLAG_A.html">
</head>
<body>
<p>Redirecting to <a href="constant.FLAG_A.html">constant.FLAG_A.html</a>...</p>
<script>location.replace("constant.FLAG_A.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=constant.FLAG_ABC.html">
</head>
<body>
<p>Redirecting to <a href="constant.FLAG_ABC.html">constant.FLAG_ABC.html</a>...</p>
<script>location.replace("constant.FLAG_ABC.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=constant.FLAG_B.html">
</head>
<body>
<p>Redirecting to <a href="constant.FLAG_B.html">constant.FLAG_B.html</a>...</p>
<script>location.replace("constant.FLAG_B.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=constant.FLAG_C.html">
</head>
<body>
<p>Redirecting to <a href="constant.FLAG_C.html">constant.FLAG_C.html</a>...</p>
<script>location.replace("constant.FLAG_C.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.Flags.html">
</head>
<body>
<p>Redirecting to <a href="struct.Flags.html">struct.Flags.html</a>...</p>
<script>location.replace("struct.Flags.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,114 @@
<!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 `FLAG_A` constant in crate `bitflags`.">
<meta name="keywords" content="rust, rustlang, rust-lang, FLAG_A">
<title>bitflags::example_generated::FLAG_A - Rust</title>
<link rel="stylesheet" type="text/css" href="../../normalize.css">
<link rel="stylesheet" type="text/css" href="../../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../../main.css">
</head>
<body class="rustdoc constant">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<p class='location'><a href='../index.html'>bitflags</a>::<wbr><a href='index.html'>example_generated</a></p><script>window.sidebarCurrent = {name: 'FLAG_A', ty: 'constant', relpath: ''};</script><script defer src="sidebar-items.js"></script>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Constant <a href='../index.html'>bitflags</a>::<wbr><a href='index.html'>example_generated</a>::<wbr><a class="constant" href=''>FLAG_A</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../../src/bitflags/lib.rs.html#316' title='goto source code'>[src]</a></span></h1>
<pre class='rust const'>pub const FLAG_A: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a><code> = </code><code>Flags{bits: 1,}</code></pre></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>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt></dt>
<dd>Move up in search results</dd>
<dt></dt>
<dd>Move down in search results</dd>
<dt></dt>
<dd>Switch tab</dd>
<dt>&#9166;</dt>
<dd>Go to active search result</dd>
<dt style="width:31px;">+ / -</dt>
<dd>Collapse/expand all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../../";
window.currentCrate = "bitflags";
</script>
<script src="../../main.js"></script>
<script defer src="../../search-index.js"></script>
</body>
</html>

View File

@@ -0,0 +1,114 @@
<!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 `FLAG_ABC` constant in crate `bitflags`.">
<meta name="keywords" content="rust, rustlang, rust-lang, FLAG_ABC">
<title>bitflags::example_generated::FLAG_ABC - Rust</title>
<link rel="stylesheet" type="text/css" href="../../normalize.css">
<link rel="stylesheet" type="text/css" href="../../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../../main.css">
</head>
<body class="rustdoc constant">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<p class='location'><a href='../index.html'>bitflags</a>::<wbr><a href='index.html'>example_generated</a></p><script>window.sidebarCurrent = {name: 'FLAG_ABC', ty: 'constant', relpath: ''};</script><script defer src="sidebar-items.js"></script>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Constant <a href='../index.html'>bitflags</a>::<wbr><a href='index.html'>example_generated</a>::<wbr><a class="constant" href=''>FLAG_ABC</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../../src/bitflags/lib.rs.html#316' title='goto source code'>[src]</a></span></h1>
<pre class='rust const'>pub const FLAG_ABC: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a><code> = </code><code>Flags{bits: FLAG_A.bits | FLAG_B.bits | FLAG_C.bits,}</code></pre></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>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt></dt>
<dd>Move up in search results</dd>
<dt></dt>
<dd>Move down in search results</dd>
<dt></dt>
<dd>Switch tab</dd>
<dt>&#9166;</dt>
<dd>Go to active search result</dd>
<dt style="width:31px;">+ / -</dt>
<dd>Collapse/expand all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../../";
window.currentCrate = "bitflags";
</script>
<script src="../../main.js"></script>
<script defer src="../../search-index.js"></script>
</body>
</html>

View File

@@ -0,0 +1,114 @@
<!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 `FLAG_B` constant in crate `bitflags`.">
<meta name="keywords" content="rust, rustlang, rust-lang, FLAG_B">
<title>bitflags::example_generated::FLAG_B - Rust</title>
<link rel="stylesheet" type="text/css" href="../../normalize.css">
<link rel="stylesheet" type="text/css" href="../../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../../main.css">
</head>
<body class="rustdoc constant">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<p class='location'><a href='../index.html'>bitflags</a>::<wbr><a href='index.html'>example_generated</a></p><script>window.sidebarCurrent = {name: 'FLAG_B', ty: 'constant', relpath: ''};</script><script defer src="sidebar-items.js"></script>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Constant <a href='../index.html'>bitflags</a>::<wbr><a href='index.html'>example_generated</a>::<wbr><a class="constant" href=''>FLAG_B</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../../src/bitflags/lib.rs.html#316' title='goto source code'>[src]</a></span></h1>
<pre class='rust const'>pub const FLAG_B: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a><code> = </code><code>Flags{bits: 2,}</code></pre></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>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt></dt>
<dd>Move up in search results</dd>
<dt></dt>
<dd>Move down in search results</dd>
<dt></dt>
<dd>Switch tab</dd>
<dt>&#9166;</dt>
<dd>Go to active search result</dd>
<dt style="width:31px;">+ / -</dt>
<dd>Collapse/expand all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../../";
window.currentCrate = "bitflags";
</script>
<script src="../../main.js"></script>
<script defer src="../../search-index.js"></script>
</body>
</html>

View File

@@ -0,0 +1,114 @@
<!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 `FLAG_C` constant in crate `bitflags`.">
<meta name="keywords" content="rust, rustlang, rust-lang, FLAG_C">
<title>bitflags::example_generated::FLAG_C - Rust</title>
<link rel="stylesheet" type="text/css" href="../../normalize.css">
<link rel="stylesheet" type="text/css" href="../../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../../main.css">
</head>
<body class="rustdoc constant">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<p class='location'><a href='../index.html'>bitflags</a>::<wbr><a href='index.html'>example_generated</a></p><script>window.sidebarCurrent = {name: 'FLAG_C', ty: 'constant', relpath: ''};</script><script defer src="sidebar-items.js"></script>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Constant <a href='../index.html'>bitflags</a>::<wbr><a href='index.html'>example_generated</a>::<wbr><a class="constant" href=''>FLAG_C</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../../src/bitflags/lib.rs.html#316' title='goto source code'>[src]</a></span></h1>
<pre class='rust const'>pub const FLAG_C: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a><code> = </code><code>Flags{bits: 4,}</code></pre></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>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt></dt>
<dd>Move up in search results</dd>
<dt></dt>
<dd>Move down in search results</dd>
<dt></dt>
<dd>Switch tab</dd>
<dt>&#9166;</dt>
<dd>Go to active search result</dd>
<dt style="width:31px;">+ / -</dt>
<dd>Collapse/expand all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../../";
window.currentCrate = "bitflags";
</script>
<script src="../../main.js"></script>
<script defer src="../../search-index.js"></script>
</body>
</html>

View File

@@ -0,0 +1,155 @@
<!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 `example_generated` mod in crate `bitflags`.">
<meta name="keywords" content="rust, rustlang, rust-lang, example_generated">
<title>bitflags::example_generated - Rust</title>
<link rel="stylesheet" type="text/css" href="../../normalize.css">
<link rel="stylesheet" type="text/css" href="../../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../../main.css">
</head>
<body class="rustdoc mod">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<p class='location'>Module example_generated</p><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li></ul></div><p class='location'><a href='../index.html'>bitflags</a></p><script>window.sidebarCurrent = {name: 'example_generated', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Module <a href='../index.html'>bitflags</a>::<wbr><a class="mod" href=''>example_generated</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../../src/bitflags/example_generated.rs.html#1-16' title='goto source code'>[src]</a></span></h1>
<div class='docblock'><p>This module shows an example of code generated by the macro. <strong>IT MUST NOT BE USED OUTSIDE THIS
CRATE</strong>.</p>
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table>
<tr class=' module-item'>
<td><a class="struct" href="struct.Flags.html"
title='struct bitflags::example_generated::Flags'>Flags</a></td>
<td class='docblock-short'>
<p>This is the same <code>Flags</code> struct defined in the <a href="../index.html#example">crate level example</a>.
Note that this struct is just for documentation purposes only, it must not be used outside
this crate.</p>
</td>
</tr></table><h2 id='constants' class='section-header'><a href="#constants">Constants</a></h2>
<table>
<tr class=' module-item'>
<td><a class="constant" href="constant.FLAG_A.html"
title='constant bitflags::example_generated::FLAG_A'>FLAG_A</a></td>
<td class='docblock-short'>
</td>
</tr>
<tr class=' module-item'>
<td><a class="constant" href="constant.FLAG_ABC.html"
title='constant bitflags::example_generated::FLAG_ABC'>FLAG_ABC</a></td>
<td class='docblock-short'>
</td>
</tr>
<tr class=' module-item'>
<td><a class="constant" href="constant.FLAG_B.html"
title='constant bitflags::example_generated::FLAG_B'>FLAG_B</a></td>
<td class='docblock-short'>
</td>
</tr>
<tr class=' module-item'>
<td><a class="constant" href="constant.FLAG_C.html"
title='constant bitflags::example_generated::FLAG_C'>FLAG_C</a></td>
<td class='docblock-short'>
</td>
</tr></table></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>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt></dt>
<dd>Move up in search results</dd>
<dt></dt>
<dd>Move down in search results</dd>
<dt></dt>
<dd>Switch tab</dd>
<dt>&#9166;</dt>
<dd>Go to active search result</dd>
<dt style="width:31px;">+ / -</dt>
<dd>Collapse/expand all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../../";
window.currentCrate = "bitflags";
</script>
<script src="../../main.js"></script>
<script defer src="../../search-index.js"></script>
</body>
</html>

View File

@@ -0,0 +1 @@
initSidebarItems({"constant":[["FLAG_A",""],["FLAG_ABC",""],["FLAG_B",""],["FLAG_C",""]],"struct":[["Flags","This is the same `Flags` struct defined in the crate level example. Note that this struct is just for documentation purposes only, it must not be used outside this crate."]]});

View File

@@ -0,0 +1,247 @@
<!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 `Flags` struct in crate `bitflags`.">
<meta name="keywords" content="rust, rustlang, rust-lang, Flags">
<title>bitflags::example_generated::Flags - Rust</title>
<link rel="stylesheet" type="text/css" href="../../normalize.css">
<link rel="stylesheet" type="text/css" href="../../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../../main.css">
</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">
<p class='location'>Struct Flags</p><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.empty">empty</a><a href="#method.all">all</a><a href="#method.bits">bits</a><a href="#method.from_bits">from_bits</a><a href="#method.from_bits_truncate">from_bits_truncate</a><a href="#method.is_empty">is_empty</a><a href="#method.is_all">is_all</a><a href="#method.intersects">intersects</a><a href="#method.contains">contains</a><a href="#method.insert">insert</a><a href="#method.remove">remove</a><a href="#method.toggle">toggle</a><a href="#method.set">set</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Copy">Copy</a><a href="#impl-PartialEq">PartialEq</a><a href="#impl-Eq">Eq</a><a href="#impl-Clone">Clone</a><a href="#impl-PartialOrd">PartialOrd</a><a href="#impl-Ord">Ord</a><a href="#impl-Hash">Hash</a><a href="#impl-Debug">Debug</a><a href="#impl-Binary">Binary</a><a href="#impl-Octal">Octal</a><a href="#impl-LowerHex">LowerHex</a><a href="#impl-UpperHex">UpperHex</a><a href="#impl-BitOr">BitOr</a><a href="#impl-BitOrAssign">BitOrAssign</a><a href="#impl-BitXor">BitXor</a><a href="#impl-BitXorAssign">BitXorAssign</a><a href="#impl-BitAnd">BitAnd</a><a href="#impl-BitAndAssign">BitAndAssign</a><a href="#impl-Sub">Sub</a><a href="#impl-SubAssign">SubAssign</a><a href="#impl-Not">Not</a><a href="#impl-Extend%3CFlags%3E">Extend&lt;Flags&gt;</a><a href="#impl-FromIterator%3CFlags%3E">FromIterator&lt;Flags&gt;</a></div></div><p class='location'><a href='../index.html'>bitflags</a>::<wbr><a href='index.html'>example_generated</a></p><script>window.sidebarCurrent = {name: 'Flags', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='../index.html'>bitflags</a>::<wbr><a href='index.html'>example_generated</a>::<wbr><a class="struct" href=''>Flags</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../../src/bitflags/lib.rs.html#312-314' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct Flags { /* fields omitted */ }</pre><div class='docblock'><p>This is the same <code>Flags</code> struct defined in the <a href="../index.html#example">crate level example</a>.
Note that this struct is just for documentation purposes only, it must not be used outside
this crate.</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#416-517' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.empty' class="method"><span id='empty.v' class='invisible'><code>pub fn <a href='#method.empty' class='fnname'>empty</a>() -&gt; <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#419-421' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns an empty set of flags.</p>
</div><h4 id='method.all' class="method"><span id='all.v' class='invisible'><code>pub fn <a href='#method.all' class='fnname'>all</a>() -&gt; <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#425-440' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the set containing all flags.</p>
</div><h4 id='method.bits' class="method"><span id='bits.v' class='invisible'><code>pub fn <a href='#method.bits' class='fnname'>bits</a>(&amp;self) -&gt; u32</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#444-446' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the raw value of the flags currently stored.</p>
</div><h4 id='method.from_bits' class="method"><span id='from_bits.v' class='invisible'><code>pub fn <a href='#method.from_bits' class='fnname'>from_bits</a>(bits: u32) -&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="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#451-457' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Convert from underlying bit representation, unless that
representation contains bits that do not correspond to a flag.</p>
</div><h4 id='method.from_bits_truncate' class="method"><span id='from_bits_truncate.v' class='invisible'><code>pub fn <a href='#method.from_bits_truncate' class='fnname'>from_bits_truncate</a>(bits: u32) -&gt; <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#462-464' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Convert from underlying bit representation, dropping any bits
that do not correspond to flags.</p>
</div><h4 id='method.is_empty' class="method"><span id='is_empty.v' class='invisible'><code>pub fn <a href='#method.is_empty' class='fnname'>is_empty</a>(&amp;self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#468-470' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns <code>true</code> if no flags are currently stored.</p>
</div><h4 id='method.is_all' class="method"><span id='is_all.v' class='invisible'><code>pub fn <a href='#method.is_all' class='fnname'>is_all</a>(&amp;self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#474-476' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns <code>true</code> if all flags are currently set.</p>
</div><h4 id='method.intersects' class="method"><span id='intersects.v' class='invisible'><code>pub fn <a href='#method.intersects' class='fnname'>intersects</a>(&amp;self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#480-482' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns <code>true</code> if there are flags common to both <code>self</code> and <code>other</code>.</p>
</div><h4 id='method.contains' class="method"><span id='contains.v' class='invisible'><code>pub fn <a href='#method.contains' class='fnname'>contains</a>(&amp;self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#486-488' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns <code>true</code> all of the flags in <code>other</code> are contained within <code>self</code>.</p>
</div><h4 id='method.insert' class="method"><span id='insert.v' class='invisible'><code>pub fn <a href='#method.insert' class='fnname'>insert</a>(&amp;mut self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#492-494' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Inserts the specified flags in-place.</p>
</div><h4 id='method.remove' class="method"><span id='remove.v' class='invisible'><code>pub fn <a href='#method.remove' class='fnname'>remove</a>(&amp;mut self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#498-500' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Removes the specified flags in-place.</p>
</div><h4 id='method.toggle' class="method"><span id='toggle.v' class='invisible'><code>pub fn <a href='#method.toggle' class='fnname'>toggle</a>(&amp;mut self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#504-506' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Toggles the specified flags in-place.</p>
</div><h4 id='method.set' class="method"><span id='set.v' class='invisible'><code>pub fn <a href='#method.set' class='fnname'>set</a>(&amp;mut self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>, value: bool)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#510-516' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Inserts or removes the specified flags depending on the passed value.</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Copy' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Copy' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'></div><h3 id='impl-PartialEq' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-PartialEq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id='impl-Eq' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Eq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'></div><h3 id='impl-Clone' class='impl'><span class='in-band'><code>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="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>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="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><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"><span id='clone_from.v' class='invisible'><code>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: &amp;Self)</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#112-114' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><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-PartialOrd' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-PartialOrd' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
</div></div><h3 id='impl-Ord' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Ord' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp' class='fnname'>cmp</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method returns an <code>Ordering</code> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max' class='fnname'>max</a>(self, other: Self) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#460-463' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min' class='fnname'>min</a>(self, other: Self) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#476-479' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
</div></div><h3 id='impl-Hash' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Hash' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.hash' class="method"><span id='hash.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash' class='fnname'>hash</a>&lt;__H:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, __arg_0: &amp;mut __H)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#310' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Feeds this value into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
</div><h4 id='method.hash_slice' class="method"><span id='hash_slice.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice' class='fnname'>hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: &amp;mut H) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.3.0'>1.3.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#202-208' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Feeds a slice of this type into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>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="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#350-393' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#351-392' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><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><h3 id='impl-Binary' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Binary.html" title="trait core::fmt::Binary">Binary</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Binary' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#394-398' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt-1' class="method"><span id='fmt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Binary.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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#395-397' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Formats the value using the given formatter.</p>
</div></div><h3 id='impl-Octal' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Octal.html" title="trait core::fmt::Octal">Octal</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Octal' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#399-403' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt-2' class="method"><span id='fmt.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Octal.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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#400-402' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Formats the value using the given formatter.</p>
</div></div><h3 id='impl-LowerHex' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-LowerHex' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#404-408' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt-3' class="method"><span id='fmt.v-3' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#405-407' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Formats the value using the given formatter.</p>
</div></div><h3 id='impl-UpperHex' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html" title="trait core::fmt::UpperHex">UpperHex</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-UpperHex' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#409-413' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt-4' class="method"><span id='fmt.v-4' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#410-412' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Formats the value using the given formatter.</p>
</div></div><h3 id='impl-BitOr' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitOr.html" title="trait core::ops::bit::BitOr">BitOr</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-BitOr' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#519-527' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='associatedtype.Output' class="type"><span id='Output.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitOr.html#associatedtype.Output' class="type">Output</a> = <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span></h4>
<div class='docblock'><p>The resulting type after applying the <code>|</code> operator.</p>
</div><h4 id='method.bitor' class="method"><span id='bitor.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitOr.html#tymethod.bitor' class='fnname'>bitor</a>(self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#524-526' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the union of the two sets of flags.</p>
</div></div><h3 id='impl-BitOrAssign' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitOrAssign.html" title="trait core::ops::bit::BitOrAssign">BitOrAssign</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-BitOrAssign' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#529-536' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.bitor_assign' class="method"><span id='bitor_assign.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitOrAssign.html#tymethod.bitor_assign' class='fnname'>bitor_assign</a>(&amp;mut self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#533-535' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Adds the set of flags.</p>
</div></div><h3 id='impl-BitXor' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitXor.html" title="trait core::ops::bit::BitXor">BitXor</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-BitXor' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#538-546' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='associatedtype.Output-1' class="type"><span id='Output.t-1' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitXor.html#associatedtype.Output' class="type">Output</a> = <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span></h4>
<div class='docblock'><p>The resulting type after applying the <code>^</code> operator.</p>
</div><h4 id='method.bitxor' class="method"><span id='bitxor.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitXor.html#tymethod.bitxor' class='fnname'>bitxor</a>(self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#543-545' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the left flags, but with all the right flags toggled.</p>
</div></div><h3 id='impl-BitXorAssign' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitXorAssign.html" title="trait core::ops::bit::BitXorAssign">BitXorAssign</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-BitXorAssign' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#548-555' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.bitxor_assign' class="method"><span id='bitxor_assign.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitXorAssign.html#tymethod.bitxor_assign' class='fnname'>bitxor_assign</a>(&amp;mut self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#552-554' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Toggles the set of flags.</p>
</div></div><h3 id='impl-BitAnd' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAnd.html" title="trait core::ops::bit::BitAnd">BitAnd</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-BitAnd' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#557-565' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='associatedtype.Output-2' class="type"><span id='Output.t-2' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAnd.html#associatedtype.Output' class="type">Output</a> = <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span></h4>
<div class='docblock'><p>The resulting type after applying the <code>&amp;</code> operator.</p>
</div><h4 id='method.bitand' class="method"><span id='bitand.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAnd.html#tymethod.bitand' class='fnname'>bitand</a>(self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#562-564' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the intersection between the two sets of flags.</p>
</div></div><h3 id='impl-BitAndAssign' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAndAssign.html" title="trait core::ops::bit::BitAndAssign">BitAndAssign</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-BitAndAssign' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#567-574' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.bitand_assign' class="method"><span id='bitand_assign.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAndAssign.html#tymethod.bitand_assign' class='fnname'>bitand_assign</a>(&amp;mut self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#571-573' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Disables all flags disabled in the set.</p>
</div></div><h3 id='impl-Sub' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Sub' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#576-584' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='associatedtype.Output-3' class="type"><span id='Output.t-3' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/arith/trait.Sub.html#associatedtype.Output' class="type">Output</a> = <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span></h4>
<div class='docblock'><p>The resulting type after applying the <code>-</code> operator.</p>
</div><h4 id='method.sub' class="method"><span id='sub.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/arith/trait.Sub.html#tymethod.sub' class='fnname'>sub</a>(self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>) -&gt; <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#581-583' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the set difference of the two sets of flags.</p>
</div></div><h3 id='impl-SubAssign' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.SubAssign.html" title="trait core::ops::arith::SubAssign">SubAssign</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-SubAssign' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#586-593' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.sub_assign' class="method"><span id='sub_assign.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/arith/trait.SubAssign.html#tymethod.sub_assign' class='fnname'>sub_assign</a>(&amp;mut self, other: <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#590-592' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Disables all flags enabled in the set.</p>
</div></div><h3 id='impl-Not' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.Not.html" title="trait core::ops::bit::Not">Not</a> for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Not' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#595-603' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='associatedtype.Output-4' class="type"><span id='Output.t-4' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.Not.html#associatedtype.Output' class="type">Output</a> = <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span></h4>
<div class='docblock'><p>The resulting type after applying the <code>!</code> operator.</p>
</div><h4 id='method.not' class="method"><span id='not.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/bit/trait.Not.html#tymethod.not' class='fnname'>not</a>(self) -&gt; <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#600-602' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the complement of this set of flags.</p>
</div></div><h3 id='impl-Extend%3CFlags%3E' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a>&lt;<a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>&gt; for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-Extend%3CFlags%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#605-611' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.extend' class="method"><span id='extend.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html#tymethod.extend' class='fnname'>extend</a>&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>&gt;&gt;(&amp;mut self, iterator: T)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#606-610' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html#tymethod.extend">Read more</a></p>
</div></div><h3 id='impl-FromIterator%3CFlags%3E' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html" title="trait core::iter::traits::FromIterator">FromIterator</a>&lt;<a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>&gt; for <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code><a href='#impl-FromIterator%3CFlags%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#613-619' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.from_iter' class="method"><span id='from_iter.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html#tymethod.from_iter' class='fnname'>from_iter</a>&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a>&gt;&gt;(iterator: T) -&gt; <a class="struct" href="../../bitflags/example_generated/struct.Flags.html" title="struct bitflags::example_generated::Flags">Flags</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../src/bitflags/lib.rs.html#614-618' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html#tymethod.from_iter">Read more</a></p>
</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>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt></dt>
<dd>Move up in search results</dd>
<dt></dt>
<dd>Move down in search results</dd>
<dt></dt>
<dd>Switch tab</dd>
<dt>&#9166;</dt>
<dd>Go to active search result</dd>
<dt style="width:31px;">+ / -</dt>
<dd>Collapse/expand all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../../";
window.currentCrate = "bitflags";
</script>
<script src="../../main.js"></script>
<script defer src="../../search-index.js"></script>
</body>
</html>

330
bitflags/index.html Normal file
View File

@@ -0,0 +1,330 @@
<!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 `bitflags` crate.">
<meta name="keywords" content="rust, rustlang, rust-lang, bitflags">
<title>bitflags - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../main.css">
</head>
<body class="rustdoc mod">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<p class='location'>Crate bitflags</p><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#macros">Macros</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'bitflags', ty: 'mod', relpath: '../'};</script>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Crate <a class="mod" href=''>bitflags</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/bitflags/lib.rs.html#11-990' title='goto source code'>[src]</a></span></h1>
<div class='docblock'><p>A typesafe bitmask flag generator useful for sets of C-style bitmask flags.
It can be used for creating typesafe wrappers around C APIs.</p>
<p>The <code>bitflags!</code> macro generates a <code>struct</code> that manages a set of flags. The
flags should only be defined for integer types, otherwise unexpected type
errors may occur at compile time.</p>
<h1 id='example' class='section-header'><a href='#example'>Example</a></h1>
<pre class="rust rust-example-rendered">
<span class="attribute">#[<span class="ident">macro_use</span>]</span>
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">bitflags</span>;
<span class="macro">bitflags</span><span class="macro">!</span> {
<span class="kw">struct</span> <span class="ident">Flags</span>: <span class="ident">u32</span> {
<span class="kw">const</span> <span class="ident">FLAG_A</span> <span class="op">=</span> <span class="number">0b00000001</span>;
<span class="kw">const</span> <span class="ident">FLAG_B</span> <span class="op">=</span> <span class="number">0b00000010</span>;
<span class="kw">const</span> <span class="ident">FLAG_C</span> <span class="op">=</span> <span class="number">0b00000100</span>;
<span class="kw">const</span> <span class="ident">FLAG_ABC</span> <span class="op">=</span> <span class="ident">FLAG_A</span>.<span class="ident">bits</span>
<span class="op">|</span> <span class="ident">FLAG_B</span>.<span class="ident">bits</span>
<span class="op">|</span> <span class="ident">FLAG_C</span>.<span class="ident">bits</span>;
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="ident">e1</span> <span class="op">=</span> <span class="ident">FLAG_A</span> <span class="op">|</span> <span class="ident">FLAG_C</span>;
<span class="kw">let</span> <span class="ident">e2</span> <span class="op">=</span> <span class="ident">FLAG_B</span> <span class="op">|</span> <span class="ident">FLAG_C</span>;
<span class="macro">assert_eq</span><span class="macro">!</span>((<span class="ident">e1</span> <span class="op">|</span> <span class="ident">e2</span>), <span class="ident">FLAG_ABC</span>); <span class="comment">// union</span>
<span class="macro">assert_eq</span><span class="macro">!</span>((<span class="ident">e1</span> <span class="op">&amp;</span> <span class="ident">e2</span>), <span class="ident">FLAG_C</span>); <span class="comment">// intersection</span>
<span class="macro">assert_eq</span><span class="macro">!</span>((<span class="ident">e1</span> <span class="op">-</span> <span class="ident">e2</span>), <span class="ident">FLAG_A</span>); <span class="comment">// set difference</span>
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">!</span><span class="ident">e2</span>, <span class="ident">FLAG_A</span>); <span class="comment">// set complement</span>
}</pre>
<p>See <a href="./example_generated/struct.Flags.html"><code>example_generated::Flags</code></a> for documentation of code
generated by the above <code>bitflags!</code> expansion.</p>
<p>The generated <code>struct</code>s can also be extended with type and trait
implementations:</p>
<pre class="rust rust-example-rendered">
<span class="attribute">#[<span class="ident">macro_use</span>]</span>
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">bitflags</span>;
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
<span class="macro">bitflags</span><span class="macro">!</span> {
<span class="kw">struct</span> <span class="ident">Flags</span>: <span class="ident">u32</span> {
<span class="kw">const</span> <span class="ident">FLAG_A</span> <span class="op">=</span> <span class="number">0b00000001</span>;
<span class="kw">const</span> <span class="ident">FLAG_B</span> <span class="op">=</span> <span class="number">0b00000010</span>;
}
}
<span class="kw">impl</span> <span class="ident">Flags</span> {
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">clear</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="self">self</span>.<span class="ident">bits</span> <span class="op">=</span> <span class="number">0</span>; <span class="comment">// The `bits` field can be accessed from within the</span>
<span class="comment">// same module where the `bitflags!` macro was invoked.</span>
}
}
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Flags</span> {
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-&gt;</span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;hi!&quot;</span>)
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">flags</span> <span class="op">=</span> <span class="ident">FLAG_A</span> <span class="op">|</span> <span class="ident">FLAG_B</span>;
<span class="ident">flags</span>.<span class="ident">clear</span>();
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">flags</span>.<span class="ident">is_empty</span>());
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">&quot;{}&quot;</span>, <span class="ident">flags</span>), <span class="string">&quot;hi!&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">&quot;{:?}&quot;</span>, <span class="ident">FLAG_A</span> <span class="op">|</span> <span class="ident">FLAG_B</span>), <span class="string">&quot;FLAG_A | FLAG_B&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">&quot;{:?}&quot;</span>, <span class="ident">FLAG_B</span>), <span class="string">&quot;FLAG_B&quot;</span>);
}</pre>
<h1 id='visibility' class='section-header'><a href='#visibility'>Visibility</a></h1>
<p>The generated struct and its associated flag constants are not exported
out of the current module by default. A definition can be exported out of
the current module by adding <code>pub</code> before <code>flags</code>:</p>
<div class='information'><div class='tooltip ignore'><span class='tooltiptext'>This example is not tested</span></div></div><pre class="rust rust-example-rendered ignore">
<span class="attribute">#[<span class="ident">macro_use</span>]</span>
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">bitflags</span>;
<span class="kw">mod</span> <span class="ident">example</span> {
<span class="macro">bitflags</span><span class="macro">!</span> {
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Flags1</span>: <span class="ident">u32</span> {
<span class="kw">const</span> <span class="ident">FLAG_A</span> <span class="op">=</span> <span class="number">0b00000001</span>;
}
}
<span class="macro">bitflags</span><span class="macro">!</span> {
<span class="kw">struct</span> <span class="ident">Flags2</span>: <span class="ident">u32</span> {
<span class="kw">const</span> <span class="ident">FLAG_B</span> <span class="op">=</span> <span class="number">0b00000010</span>;
}
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="ident">flag1</span> <span class="op">=</span> <span class="ident">example</span>::<span class="ident">FLAG_A</span>;
<span class="kw">let</span> <span class="ident">flag2</span> <span class="op">=</span> <span class="ident">example</span>::<span class="ident">FLAG_B</span>; <span class="comment">// error: const `FLAG_B` is private</span>
}</pre>
<h1 id='attributes' class='section-header'><a href='#attributes'>Attributes</a></h1>
<p>Attributes can be attached to the generated <code>struct</code> by placing them
before the <code>flags</code> keyword.</p>
<h1 id='trait-implementations' class='section-header'><a href='#trait-implementations'>Trait implementations</a></h1>
<p>The <code>Copy</code>, <code>Clone</code>, <code>PartialEq</code>, <code>Eq</code>, <code>PartialOrd</code>, <code>Ord</code> and <code>Hash</code>
traits automatically derived for the <code>struct</code> using the <code>derive</code> attribute.
Additional traits can be derived by providing an explicit <code>derive</code>
attribute on <code>flags</code>.</p>
<p>The <code>Extend</code> and <code>FromIterator</code> traits are implemented for the <code>struct</code>,
too: <code>Extend</code> adds the union of the instances of the <code>struct</code> iterated over,
while <code>FromIterator</code> calculates the union.</p>
<p>The <code>Binary</code>, <code>Debug</code>, <code>LowerExp</code>, <code>Octal</code> and <code>UpperExp</code> trait is also
implemented by displaying the bits value of the internal struct.</p>
<h2 id='operators' class='section-header'><a href='#operators'>Operators</a></h2>
<p>The following operator traits are implemented for the generated <code>struct</code>:</p>
<ul>
<li><code>BitOr</code> and <code>BitOrAssign</code>: union</li>
<li><code>BitAnd</code> and <code>BitAndAssign</code>: intersection</li>
<li><code>BitXor</code> and <code>BitXorAssign</code>: toggle</li>
<li><code>Sub</code> and <code>SubAssign</code>: set difference</li>
<li><code>Not</code>: set complement</li>
</ul>
<h1 id='methods-1' class='section-header'><a href='#methods-1'>Methods</a></h1>
<p>The following methods are defined for the generated <code>struct</code>:</p>
<ul>
<li><code>empty</code>: an empty set of flags</li>
<li><code>all</code>: the set of all flags</li>
<li><code>bits</code>: the raw value of the flags currently stored</li>
<li><code>from_bits</code>: convert from underlying bit representation, unless that
representation contains bits that do not correspond to a flag</li>
<li><code>from_bits_truncate</code>: convert from underlying bit representation, dropping
any bits that do not correspond to flags</li>
<li><code>is_empty</code>: <code>true</code> if no flags are currently stored</li>
<li><code>is_all</code>: <code>true</code> if all flags are currently set</li>
<li><code>intersects</code>: <code>true</code> if there are flags common to both <code>self</code> and <code>other</code></li>
<li><code>contains</code>: <code>true</code> all of the flags in <code>other</code> are contained within <code>self</code></li>
<li><code>insert</code>: inserts the specified flags in-place</li>
<li><code>remove</code>: removes the specified flags in-place</li>
<li><code>toggle</code>: the specified flags will be inserted if not present, and removed
if they are.</li>
</ul>
<h2 id='default' class='section-header'><a href='#default'>Default</a></h2>
<p>The <code>Default</code> trait is not automatically implemented for the generated struct.</p>
<p>If your default value is equal to <code>0</code> (which is the same value as calling <code>empty()</code>
on the generated struct), you can simply derive <code>Default</code>:</p>
<pre class="rust rust-example-rendered">
<span class="attribute">#[<span class="ident">macro_use</span>]</span>
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">bitflags</span>;
<span class="macro">bitflags</span><span class="macro">!</span> {
<span class="comment">// Results in default value with bits: 0</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Default</span>)]</span>
<span class="kw">struct</span> <span class="ident">Flags</span>: <span class="ident">u32</span> {
<span class="kw">const</span> <span class="ident">FLAG_A</span> <span class="op">=</span> <span class="number">0b00000001</span>;
<span class="kw">const</span> <span class="ident">FLAG_B</span> <span class="op">=</span> <span class="number">0b00000010</span>;
<span class="kw">const</span> <span class="ident">FLAG_C</span> <span class="op">=</span> <span class="number">0b00000100</span>;
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="ident">derived_default</span>: <span class="ident">Flags</span> <span class="op">=</span> <span class="ident">Default</span>::<span class="ident">default</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">derived_default</span>.<span class="ident">bits</span>(), <span class="number">0</span>);
}</pre>
<p>If your default value is not equal to <code>0</code> you need to implement <code>Default</code> yourself:</p>
<pre class="rust rust-example-rendered">
<span class="attribute">#[<span class="ident">macro_use</span>]</span>
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">bitflags</span>;
<span class="macro">bitflags</span><span class="macro">!</span> {
<span class="kw">struct</span> <span class="ident">Flags</span>: <span class="ident">u32</span> {
<span class="kw">const</span> <span class="ident">FLAG_A</span> <span class="op">=</span> <span class="number">0b00000001</span>;
<span class="kw">const</span> <span class="ident">FLAG_B</span> <span class="op">=</span> <span class="number">0b00000010</span>;
<span class="kw">const</span> <span class="ident">FLAG_C</span> <span class="op">=</span> <span class="number">0b00000100</span>;
}
}
<span class="comment">// explicit `Default` implementation</span>
<span class="kw">impl</span> <span class="ident">Default</span> <span class="kw">for</span> <span class="ident">Flags</span> {
<span class="kw">fn</span> <span class="ident">default</span>() <span class="op">-&gt;</span> <span class="ident">Flags</span> {
<span class="ident">FLAG_A</span> <span class="op">|</span> <span class="ident">FLAG_C</span>
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="ident">implemented_default</span>: <span class="ident">Flags</span> <span class="op">=</span> <span class="ident">Default</span>::<span class="ident">default</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">implemented_default</span>, (<span class="ident">FLAG_A</span> <span class="op">|</span> <span class="ident">FLAG_C</span>));
}</pre>
</div><h2 id='modules' class='section-header'><a href="#modules">Modules</a></h2>
<table>
<tr class=' module-item'>
<td><a class="mod" href="example_generated/index.html"
title='mod bitflags::example_generated'>example_generated</a></td>
<td class='docblock-short'>
<p>This module shows an example of code generated by the macro. <strong>IT MUST NOT BE USED OUTSIDE THIS
CRATE</strong>.</p>
</td>
</tr></table><h2 id='macros' class='section-header'><a href="#macros">Macros</a></h2>
<table>
<tr class=' module-item'>
<td><a class="macro" href="macro.bitflags.html"
title='macro bitflags::bitflags'>bitflags</a></td>
<td class='docblock-short'>
<p>The macro used to generate the flag structure.</p>
</td>
</tr></table></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>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt></dt>
<dd>Move up in search results</dd>
<dt></dt>
<dd>Move down in search results</dd>
<dt></dt>
<dd>Switch tab</dd>
<dt>&#9166;</dt>
<dd>Go to active search result</dd>
<dt style="width:31px;">+ / -</dt>
<dd>Collapse/expand all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "bitflags";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.bitflags.html">
</head>
<body>
<p>Redirecting to <a href="macro.bitflags.html">macro.bitflags.html</a>...</p>
<script>location.replace("macro.bitflags.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,189 @@
<!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 `bitflags` macro in crate `bitflags`.">
<meta name="keywords" content="rust, rustlang, rust-lang, bitflags">
<title>bitflags::bitflags - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../main.css">
</head>
<body class="rustdoc macro">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<p class='location'><a href='index.html'>bitflags</a></p><script>window.sidebarCurrent = {name: 'bitflags', ty: 'macro', relpath: ''};</script><script defer src="sidebar-items.js"></script>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Macro <a href='index.html'>bitflags</a>::<wbr><a class="macro" href=''>bitflags</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/bitflags/lib.rs.html#306-342' title='goto source code'>[src]</a></span></h1>
<pre class="rust macro">
<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">bitflags</span> {
($(<span class="attribute">#[<span class="macro-nonterminal">$</span><span class="macro-nonterminal">attr</span>:<span class="ident">meta</span>]</span>)<span class="op">*</span> <span class="kw">pub</span> <span class="kw">struct</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">BitFlags</span>:<span class="ident">ident</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>:<span class="ident">ty</span> {
$($(<span class="attribute">#[<span class="macro-nonterminal">$</span><span class="macro-nonterminal">Flag_attr</span>:<span class="ident">meta</span>]</span>)<span class="op">*</span> <span class="kw">const</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">Flag</span>:<span class="ident">ident</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>:<span class="ident">expr</span>;)<span class="op">+</span>
}) <span class="op">=&gt;</span> { ... };
($(<span class="attribute">#[<span class="macro-nonterminal">$</span><span class="macro-nonterminal">attr</span>:<span class="ident">meta</span>]</span>)<span class="op">*</span> <span class="kw">struct</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">BitFlags</span>:<span class="ident">ident</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>:<span class="ident">ty</span> {
$($(<span class="attribute">#[<span class="macro-nonterminal">$</span><span class="macro-nonterminal">Flag_attr</span>:<span class="ident">meta</span>]</span>)<span class="op">*</span> <span class="kw">const</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">Flag</span>:<span class="ident">ident</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>:<span class="ident">expr</span>;)<span class="op">+</span>
}) <span class="op">=&gt;</span> { ... };
}</pre>
<div class='docblock'><p>The macro used to generate the flag structure.</p>
<p>See the <a href="../bitflags/index.html">crate level docs</a> for complete documentation.</p>
<h1 id='example' class='section-header'><a href='#example'>Example</a></h1>
<pre class="rust rust-example-rendered">
<span class="attribute">#[<span class="ident">macro_use</span>]</span>
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">bitflags</span>;
<span class="macro">bitflags</span><span class="macro">!</span> {
<span class="kw">struct</span> <span class="ident">Flags</span>: <span class="ident">u32</span> {
<span class="kw">const</span> <span class="ident">FLAG_A</span> <span class="op">=</span> <span class="number">0b00000001</span>;
<span class="kw">const</span> <span class="ident">FLAG_B</span> <span class="op">=</span> <span class="number">0b00000010</span>;
<span class="kw">const</span> <span class="ident">FLAG_C</span> <span class="op">=</span> <span class="number">0b00000100</span>;
<span class="kw">const</span> <span class="ident">FLAG_ABC</span> <span class="op">=</span> <span class="ident">FLAG_A</span>.<span class="ident">bits</span>
<span class="op">|</span> <span class="ident">FLAG_B</span>.<span class="ident">bits</span>
<span class="op">|</span> <span class="ident">FLAG_C</span>.<span class="ident">bits</span>;
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="ident">e1</span> <span class="op">=</span> <span class="ident">FLAG_A</span> <span class="op">|</span> <span class="ident">FLAG_C</span>;
<span class="kw">let</span> <span class="ident">e2</span> <span class="op">=</span> <span class="ident">FLAG_B</span> <span class="op">|</span> <span class="ident">FLAG_C</span>;
<span class="macro">assert_eq</span><span class="macro">!</span>((<span class="ident">e1</span> <span class="op">|</span> <span class="ident">e2</span>), <span class="ident">FLAG_ABC</span>); <span class="comment">// union</span>
<span class="macro">assert_eq</span><span class="macro">!</span>((<span class="ident">e1</span> <span class="op">&amp;</span> <span class="ident">e2</span>), <span class="ident">FLAG_C</span>); <span class="comment">// intersection</span>
<span class="macro">assert_eq</span><span class="macro">!</span>((<span class="ident">e1</span> <span class="op">-</span> <span class="ident">e2</span>), <span class="ident">FLAG_A</span>); <span class="comment">// set difference</span>
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">!</span><span class="ident">e2</span>, <span class="ident">FLAG_A</span>); <span class="comment">// set complement</span>
}</pre>
<p>The generated <code>struct</code>s can also be extended with type and trait
implementations:</p>
<pre class="rust rust-example-rendered">
<span class="attribute">#[<span class="ident">macro_use</span>]</span>
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">bitflags</span>;
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
<span class="macro">bitflags</span><span class="macro">!</span> {
<span class="kw">struct</span> <span class="ident">Flags</span>: <span class="ident">u32</span> {
<span class="kw">const</span> <span class="ident">FLAG_A</span> <span class="op">=</span> <span class="number">0b00000001</span>;
<span class="kw">const</span> <span class="ident">FLAG_B</span> <span class="op">=</span> <span class="number">0b00000010</span>;
}
}
<span class="kw">impl</span> <span class="ident">Flags</span> {
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">clear</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="self">self</span>.<span class="ident">bits</span> <span class="op">=</span> <span class="number">0</span>; <span class="comment">// The `bits` field can be accessed from within the</span>
<span class="comment">// same module where the `bitflags!` macro was invoked.</span>
}
}
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Flags</span> {
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-&gt;</span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;hi!&quot;</span>)
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">flags</span> <span class="op">=</span> <span class="ident">FLAG_A</span> <span class="op">|</span> <span class="ident">FLAG_B</span>;
<span class="ident">flags</span>.<span class="ident">clear</span>();
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">flags</span>.<span class="ident">is_empty</span>());
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">&quot;{}&quot;</span>, <span class="ident">flags</span>), <span class="string">&quot;hi!&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">&quot;{:?}&quot;</span>, <span class="ident">FLAG_A</span> <span class="op">|</span> <span class="ident">FLAG_B</span>), <span class="string">&quot;FLAG_A | FLAG_B&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">&quot;{:?}&quot;</span>, <span class="ident">FLAG_B</span>), <span class="string">&quot;FLAG_B&quot;</span>);
}</pre>
</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>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt></dt>
<dd>Move up in search results</dd>
<dt></dt>
<dd>Move down in search results</dd>
<dt></dt>
<dd>Switch tab</dd>
<dt>&#9166;</dt>
<dd>Go to active search result</dd>
<dt style="width:31px;">+ / -</dt>
<dd>Collapse/expand all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "bitflags";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View File

@@ -0,0 +1 @@
initSidebarItems({"macro":[["bitflags","The macro used to generate the flag structure."]],"mod":[["example_generated","This module shows an example of code generated by the macro. IT MUST NOT BE USED OUTSIDE THIS CRATE."]]});