mirror of
https://github.com/rust-embedded/heapless.git
synced 2025-09-30 05:50:29 +00:00
deploy: 868aebfbad6e1ad94a49b839960577dc284c3748
This commit is contained in:
parent
f2fe6e5ddd
commit
98769d9f9c
@ -1,6 +1,6 @@
|
||||
<!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="List of all items in this crate"><meta name="keywords" content="rust, rustlang, rust-lang"><title>List of all items in this crate</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></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"><div class="sidebar-menu">☰</div><a href='../generic_array/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Crate generic_array</p><div class='block version'><p>Version 0.12.3</p></div><a id='all-types' href='index.html'><p>Back to index</p></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></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"><div class="sidebar-menu">☰</div><a href='../generic_array/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Crate generic_array</p><div class='block version'><p>Version 0.14.4</p></div><a id='all-types' href='index.html'><p>Back to index</p></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span>
|
||||
</span>
|
||||
<span class='in-band'>List of all items</span></h1><h3 id='Structs'>Structs</h3><ul class='structs docblock'><li><a href='struct.GenericArray.html'>GenericArray</a></li><li><a href='iter/struct.GenericArrayIter.html'>iter::GenericArrayIter</a></li></ul><h3 id='Traits'>Traits</h3><ul class='traits docblock'><li><a href='trait.ArrayLength.html'>ArrayLength</a></li><li><a href='arr/trait.AddLength.html'>arr::AddLength</a></li><li><a href='functional/trait.FunctionalSequence.html'>functional::FunctionalSequence</a></li><li><a href='functional/trait.MappedGenericSequence.html'>functional::MappedGenericSequence</a></li><li><a href='sequence/trait.Concat.html'>sequence::Concat</a></li><li><a href='sequence/trait.GenericSequence.html'>sequence::GenericSequence</a></li><li><a href='sequence/trait.Lengthen.html'>sequence::Lengthen</a></li><li><a href='sequence/trait.Shorten.html'>sequence::Shorten</a></li><li><a href='sequence/trait.Split.html'>sequence::Split</a></li></ul><h3 id='Macros'>Macros</h3><ul class='macros docblock'><li><a href='macro.arr.html'>arr</a></li></ul><h3 id='Typedefs'>Typedefs</h3><ul class='typedefs docblock'><li><a href='arr/type.Inc.html'>arr::Inc</a></li><li><a href='functional/type.MappedSequence.html'>functional::MappedSequence</a></li><li><a href='sequence/type.SequenceItem.html'>sequence::SequenceItem</a></li></ul></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "generic_array";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
@ -1,7 +1,7 @@
|
||||
<!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 `arr` mod in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, arr"><title>generic_array::arr - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></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"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module arr</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class='location'><a href='../index.html'>generic_array</a></p><script>window.sidebarCurrent = {name: 'arr', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/arr.rs.html#1-57' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>generic_array</a>::<wbr><a class="mod" href=''>arr</a></span></h1><div class='docblock'><p>Implementation for <code>arr!</code> macro.</p>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/arr.rs.html#1-125' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>generic_array</a>::<wbr><a class="mod" href=''>arr</a></span></h1><div class='docblock'><p>Implementation for <code>arr!</code> macro.</p>
|
||||
</div><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
|
||||
<table><tr class='module-item'><td><a class="trait" href="trait.AddLength.html" title='generic_array::arr::AddLength trait'>AddLength</a></td><td class='docblock-short'><p>Helper trait for <code>arr!</code> macro</p>
|
||||
</td></tr></table><h2 id='types' class='section-header'><a href="#types">Type Definitions</a></h2>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!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 `functional` mod in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, functional"><title>generic_array::functional - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></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"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module functional</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class='location'><a href='../index.html'>generic_array</a></p><script>window.sidebarCurrent = {name: 'functional', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/functional.rs.html#1-94' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>generic_array</a>::<wbr><a class="mod" href=''>functional</a></span></h1><div class='docblock'><p>Functional programming with generic sequences</p>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/functional.rs.html#1-95' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>generic_array</a>::<wbr><a class="mod" href=''>functional</a></span></h1><div class='docblock'><p>Functional programming with generic sequences</p>
|
||||
<p>Please see <code>tests/generics.rs</code> for examples of how to best use these in your generic functions.</p>
|
||||
</div><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
|
||||
<table><tr class='module-item'><td><a class="trait" href="trait.FunctionalSequence.html" title='generic_array::functional::FunctionalSequence trait'>FunctionalSequence</a></td><td class='docblock-short'><p>Defines functional programming methods for generic sequences</p>
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,5 +1,5 @@
|
||||
<!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 `MappedSequence` type in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, MappedSequence"><title>generic_array::functional::MappedSequence - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Type Definition MappedSequence</p><div class="sidebar-elems"><p class='location'><a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>functional</a></p><script>window.sidebarCurrent = {name: 'MappedSequence', ty: 'type', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/functional.rs.html#38-39' title='goto source code'>[src]</a></span><span class='in-band'>Type Definition <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>functional</a>::<wbr><a class="type" href=''>MappedSequence</a></span></h1><pre class='rust typedef'>type MappedSequence<S, T, U> = <<S as <a class="trait" href="../../generic_array/functional/trait.MappedGenericSequence.html" title="trait generic_array::functional::MappedGenericSequence">MappedGenericSequence</a><T, U>>::<a class="type" href="../../generic_array/functional/trait.MappedGenericSequence.html#associatedtype.Mapped" title="type generic_array::functional::MappedGenericSequence::Mapped">Mapped</a> as <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><U>>::<a class="type" href="../../generic_array/sequence/trait.GenericSequence.html#associatedtype.Sequence" title="type generic_array::sequence::GenericSequence::Sequence">Sequence</a>;</pre><div class='docblock'><p>Accessor type for a mapped generic sequence</p>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/functional.rs.html#39-40' title='goto source code'>[src]</a></span><span class='in-band'>Type Definition <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>functional</a>::<wbr><a class="type" href=''>MappedSequence</a></span></h1><pre class='rust typedef'>type MappedSequence<S, T, U> = <<S as <a class="trait" href="../../generic_array/functional/trait.MappedGenericSequence.html" title="trait generic_array::functional::MappedGenericSequence">MappedGenericSequence</a><T, U>>::<a class="type" href="../../generic_array/functional/trait.MappedGenericSequence.html#associatedtype.Mapped" title="type generic_array::functional::MappedGenericSequence::Mapped">Mapped</a> as <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><U>>::<a class="type" href="../../generic_array/sequence/trait.GenericSequence.html#associatedtype.Sequence" title="type generic_array::sequence::GenericSequence::Sequence">Sequence</a>;</pre><div class='docblock'><p>Accessor type for a mapped generic sequence</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
@ -1,31 +1,53 @@
|
||||
<!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 `generic_array` crate."><meta name="keywords" content="rust, rustlang, rust-lang, generic_array"><title>generic_array - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></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"><div class="sidebar-menu">☰</div><a href='../generic_array/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Crate generic_array</p><div class='block version'><p>Version 0.12.3</p></div><div class="sidebar-elems"><a id='all-types' href='all.html'><p>See all generic_array's items</p></a><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#macros">Macros</a></li><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'generic_array', ty: 'mod', relpath: '../'};</script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/generic_array/lib.rs.html#1-632' title='goto source code'>[src]</a></span><span class='in-band'>Crate <a class="mod" href=''>generic_array</a></span></h1><div class='docblock'><p>This crate implements a structure that can be used as a generic array type.use
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></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"><div class="sidebar-menu">☰</div><a href='../generic_array/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Crate generic_array</p><div class='block version'><p>Version 0.14.4</p></div><div class="sidebar-elems"><a id='all-types' href='all.html'><p>See all generic_array's items</p></a><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#macros">Macros</a></li><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'generic_array', ty: 'mod', relpath: '../'};</script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/generic_array/lib.rs.html#1-673' title='goto source code'>[src]</a></span><span class='in-band'>Crate <a class="mod" href=''>generic_array</a></span></h1><div class='docblock'><p>This crate implements a structure that can be used as a generic array type.
|
||||
Core Rust array types <code>[T; N]</code> can't be used generically with
|
||||
respect to <code>N</code>, so for example this:</p>
|
||||
<pre><code class="language-{should_fail}">struct Foo<T, N> {
|
||||
data: [T; N]
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<div class='information'><div class='tooltip compile_fail'>ⓘ<span class='tooltiptext'>This example deliberately fails to compile</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered compile_fail">
|
||||
<span class="kw">struct</span> <span class="ident">Foo</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> {
|
||||
<span class="ident">data</span>: [<span class="ident">T</span>; <span class="ident">N</span>]
|
||||
}</pre></div>
|
||||
<p>won't work.</p>
|
||||
<p><strong>generic-array</strong> exports a <code>GenericArray<T,N></code> type, which lets
|
||||
the above be implemented as:</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">generic_array</span>::{<span class="ident">ArrayLength</span>, <span class="ident">GenericArray</span>};
|
||||
|
||||
<span class="kw">struct</span> <span class="ident">Foo</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="ident">data</span>: <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>,<span class="ident">N</span><span class="op">></span>
|
||||
}</pre></div>
|
||||
<p>The <code>ArrayLength<T></code> trait is implemented by default for
|
||||
<a href="../typenum/uint/index.html">unsigned integer types</a> from
|
||||
<a href="../typenum/index.html">typenum</a>.</p>
|
||||
<a href="../typenum/index.html">typenum</a>:</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">generic_array</span>::<span class="ident">typenum</span>::<span class="ident">U5</span>;
|
||||
|
||||
<span class="kw">struct</span> <span class="ident">Foo</span><span class="op"><</span><span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">i32</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="ident">data</span>: <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">i32</span>, <span class="ident">N</span><span class="op">></span>
|
||||
}
|
||||
|
||||
<span class="kw">let</span> <span class="ident">foo</span> <span class="op">=</span> <span class="ident">Foo</span>::<span class="op"><</span><span class="ident">U5</span><span class="op">></span>{<span class="ident">data</span>: <span class="ident">GenericArray</span>::<span class="ident">default</span>()};</pre></div>
|
||||
<p>For example, <code>GenericArray<T, U5></code> would work almost like <code>[T; 5]</code>:</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">generic_array</span>::<span class="ident">typenum</span>::<span class="ident">U5</span>;
|
||||
|
||||
<span class="kw">struct</span> <span class="ident">Foo</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="ident">data</span>: <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span>
|
||||
}
|
||||
|
||||
<span class="kw">let</span> <span class="ident">foo</span> <span class="op">=</span> <span class="ident">Foo</span>::<span class="op"><</span><span class="ident">i32</span>, <span class="ident">U5</span><span class="op">></span>{<span class="ident">data</span>: <span class="ident">GenericArray</span>::<span class="ident">default</span>()};</pre></div>
|
||||
<p>For ease of use, an <code>arr!</code> macro is provided - example below:</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">let</span> <span class="ident">array</span> <span class="op">=</span> <span class="macro">arr</span><span class="macro">!</span>[<span class="ident">u32</span>; <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>[<span class="number">2</span>], <span class="number">3</span>);</pre></div>
|
||||
</div><h2 id='reexports' class='section-header'><a href="#reexports">Re-exports</a></h2>
|
||||
<table><tr><td><code>pub extern crate <a class="mod" href="../typenum/index.html" title="mod typenum">typenum</a>;</code></td></tr><tr><td><code>pub use iter::<a class="struct" href="../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a>;</code></td></tr></table><h2 id='modules' class='section-header'><a href="#modules">Modules</a></h2>
|
||||
<table><tr><td><code>pub extern crate <a class="mod" href="../typenum/index.html" title="mod typenum">typenum</a>;</code></td></tr><tr><td><code>pub use self::iter::<a class="struct" href="../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a>;</code></td></tr></table><h2 id='modules' class='section-header'><a href="#modules">Modules</a></h2>
|
||||
<table><tr class='module-item'><td><a class="mod" href="arr/index.html" title='generic_array::arr mod'>arr</a></td><td class='docblock-short'><p>Implementation for <code>arr!</code> macro.</p>
|
||||
</td></tr><tr class='module-item'><td><a class="mod" href="functional/index.html" title='generic_array::functional mod'>functional</a></td><td class='docblock-short'><p>Functional programming with generic sequences</p>
|
||||
</td></tr><tr class='module-item'><td><a class="mod" href="iter/index.html" title='generic_array::iter mod'>iter</a></td><td class='docblock-short'><p><code>GenericArray</code> iterator implementation.</p>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!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 `iter` mod in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, iter"><title>generic_array::iter - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></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"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module iter</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li></ul></div><p class='location'><a href='../index.html'>generic_array</a></p><script>window.sidebarCurrent = {name: 'iter', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/iter.rs.html#1-188' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>generic_array</a>::<wbr><a class="mod" href=''>iter</a></span></h1><div class='docblock'><p><code>GenericArray</code> iterator implementation.</p>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/iter.rs.html#1-255' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>generic_array</a>::<wbr><a class="mod" href=''>iter</a></span></h1><div class='docblock'><p><code>GenericArray</code> iterator implementation.</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.GenericArrayIter.html" title='generic_array::iter::GenericArrayIter struct'>GenericArrayIter</a></td><td class='docblock-short'><p>An iterator that moves out of a <code>GenericArray</code></p>
|
||||
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
@ -1,30 +1,31 @@
|
||||
<!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 `GenericArrayIter` struct in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, GenericArrayIter"><title>generic_array::iter::GenericArrayIter - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Struct GenericArrayIter</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_mut_slice">as_mut_slice</a><a href="#method.as_slice">as_slice</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-DoubleEndedIterator">DoubleEndedIterator</a><a href="#impl-Drop">Drop</a><a href="#impl-ExactSizeIterator">ExactSizeIterator</a><a href="#impl-Iterator">Iterator</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoIterator">IntoIterator</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><p class='location'><a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>iter</a></p><script>window.sidebarCurrent = {name: 'GenericArrayIter', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/iter.rs.html#8-15' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>iter</a>::<wbr><a class="struct" href=''>GenericArrayIter</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct GenericArrayIter<T, N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>> { /* fields omitted */ }</pre></div><div class='docblock'><p>An iterator that moves out of a <code>GenericArray</code></p>
|
||||
</div><h2 id='implementations' class='small-section-header'>Implementations<a href='#implementations' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl<T, N> <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#29-44' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.as_slice' class="method"><code>pub fn <a href='#method.as_slice' class='fnname'>as_slice</a>(&self) -> &[T]</code><a class='srclink' href='../../src/generic_array/iter.rs.html#35-37' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the remaining items of this iterator as a slice</p>
|
||||
</div><h4 id='method.as_mut_slice' class="method"><code>pub fn <a href='#method.as_mut_slice' class='fnname'>as_mut_slice</a>(&mut self) -> &mut [T]</code><a class='srclink' href='../../src/generic_array/iter.rs.html#41-43' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the remaining items of this iterator as a mutable slice</p>
|
||||
</div></div><h2 id='trait-implementations' class='small-section-header'>Trait Implementations<a href='#trait-implementations' class='anchor'></a></h2><div id='trait-implementations-list'><h3 id='impl-Clone' class='impl'><code class='in-band'>impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, N> <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="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Clone' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#90-113' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.clone' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> Self</code><a class='srclink' href='../../src/generic_array/iter.rs.html#94-112' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Struct GenericArrayIter</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_mut_slice">as_mut_slice</a><a href="#method.as_slice">as_slice</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-DoubleEndedIterator">DoubleEndedIterator</a><a href="#impl-Drop">Drop</a><a href="#impl-ExactSizeIterator">ExactSizeIterator</a><a href="#impl-FusedIterator">FusedIterator</a><a href="#impl-Iterator">Iterator</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoIterator">IntoIterator</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><p class='location'><a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>iter</a></p><script>window.sidebarCurrent = {name: 'GenericArrayIter', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/iter.rs.html#9-16' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>iter</a>::<wbr><a class="struct" href=''>GenericArrayIter</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct GenericArrayIter<T, N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>> { /* fields omitted */ }</pre></div><div class='docblock'><p>An iterator that moves out of a <code>GenericArray</code></p>
|
||||
</div><h2 id='implementations' class='small-section-header'>Implementations<a href='#implementations' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl<T, N> <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#30-45' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.as_slice' class="method"><code>pub fn <a href='#method.as_slice' class='fnname'>as_slice</a>(&self) -> &[T]</code><a class='srclink' href='../../src/generic_array/iter.rs.html#36-38' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the remaining items of this iterator as a slice</p>
|
||||
</div><h4 id='method.as_mut_slice' class="method"><code>pub fn <a href='#method.as_mut_slice' class='fnname'>as_mut_slice</a>(&mut self) -> &mut [T]</code><a class='srclink' href='../../src/generic_array/iter.rs.html#42-44' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the remaining items of this iterator as a mutable slice</p>
|
||||
</div></div><h2 id='trait-implementations' class='small-section-header'>Trait Implementations<a href='#trait-implementations' class='anchor'></a></h2><div id='trait-implementations-list'><h3 id='impl-Clone' class='impl'><code class='in-band'>impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, N> <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="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Clone' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#93-117' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.clone' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> Self</code><a class='srclink' href='../../src/generic_array/iter.rs.html#97-116' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||
</div><h4 id='method.clone_from' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&mut self, source: &Self)</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#128-130' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||||
</div></div><h3 id='impl-Debug' class='impl'><code class='in-band'>impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, N> <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="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Debug' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#63-72' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.fmt' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class='srclink' href='../../src/generic_array/iter.rs.html#67-71' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||
</div></div><h3 id='impl-DoubleEndedIterator' class='impl'><code class='in-band'>impl<T, N> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a> for <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-DoubleEndedIterator' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#166-179' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.next_back' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#tymethod.next_back' class='fnname'>next_back</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></code><a class='srclink' href='../../src/generic_array/iter.rs.html#170-178' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Removes and returns an element from the end of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#tymethod.next_back">Read more</a></p>
|
||||
</div></div><h3 id='impl-Debug' class='impl'><code class='in-band'>impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, N> <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="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Debug' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#64-73' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.fmt' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class='srclink' href='../../src/generic_array/iter.rs.html#68-72' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||
</div></div><h3 id='impl-DoubleEndedIterator' class='impl'><code class='in-band'>impl<T, N> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a> for <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-DoubleEndedIterator' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#199-240' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.next_back' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#tymethod.next_back' class='fnname'>next_back</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></code><a class='srclink' href='../../src/generic_array/iter.rs.html#203-211' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Removes and returns an element from the end of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#tymethod.next_back">Read more</a></p>
|
||||
</div><h4 id='method.rfold' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfold' class='fnname'>rfold</a><B, F>(self, init: B, f: F) -> B <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> B, </span></code><a class='srclink' href='../../src/generic_array/iter.rs.html#213-239' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>An iterator method that reduces the iterator's elements to a single,
|
||||
final value, starting from the back. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfold">Read more</a></p>
|
||||
</div><h4 id='method.advance_back_by' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.advance_back_by' class='fnname'>advance_back_by</a>(&mut self, n: usize) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(), usize></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/double_ended.rs.html#127-132' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><details><summary><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>iter_advance_by</code>)</summary><p>recently added</p>
|
||||
</details></div></div><div class='docblock hidden'><p>Advances the iterator from the back by <code>n</code> elements. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.advance_back_by">Read more</a></p>
|
||||
</div><h4 id='method.nth_back' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.nth_back' class='fnname'>nth_back</a>(&mut self, n: usize) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>></code><span class='since' title='Stable since Rust version 1.37.0'>1.37.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/double_ended.rs.html#177-180' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the <code>n</code>th element from the end of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.nth_back">Read more</a></p>
|
||||
</div><h4 id='method.try_rfold' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.try_rfold' class='fnname'>try_rfold</a><B, F, R>(&mut self, init: B, f: F) -> R <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> R,<br> R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/try/trait.Try.html" title="trait core::ops::try::Try">Try</a><Ok = B>, </span></code><span class='since' title='Stable since Rust version 1.27.0'>1.27.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/double_ended.rs.html#214-225' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>This is the reverse version of <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.try_fold" title="Iterator::try_fold()"><code>Iterator::try_fold()</code></a>: it takes
|
||||
elements starting from the back of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.try_rfold">Read more</a></p>
|
||||
</div><h4 id='method.rfold' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfold' class='fnname'>rfold</a><B, F>(self, init: B, f: F) -> B <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> B, </span></code><span class='since' title='Stable since Rust version 1.27.0'>1.27.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/double_ended.rs.html#278-288' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>An iterator method that reduces the iterator's elements to a single,
|
||||
final value, starting from the back. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfold">Read more</a></p>
|
||||
</div><h4 id='method.rfind' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfind' class='fnname'>rfind</a><P>(&mut self, predicate: P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>> <span class="where fmt-newline">where<br> P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> bool, </span></code><span class='since' title='Stable since Rust version 1.27.0'>1.27.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/double_ended.rs.html#333-346' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Searches for an element of an iterator from the back that satisfies a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfind">Read more</a></p>
|
||||
</div></div><h3 id='impl-Drop' class='impl'><code class='in-band'>impl<T, N> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Drop' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#74-87' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop' class='fnname'>drop</a>(&mut self)</code><a class='srclink' href='../../src/generic_array/iter.rs.html#79-86' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
|
||||
</div></div><h3 id='impl-ExactSizeIterator' class='impl'><code class='in-band'>impl<T, N> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a> for <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-ExactSizeIterator' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#181-188' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.len' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html#method.len' class='fnname'>len</a>(&self) -> usize</code><a class='srclink' href='../../src/generic_array/iter.rs.html#185-187' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the exact length of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html#method.len">Read more</a></p>
|
||||
</div></div><h3 id='impl-Drop' class='impl'><code class='in-band'>impl<T, N> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Drop' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#75-90' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop' class='fnname'>drop</a>(&mut self)</code><a class='srclink' href='../../src/generic_array/iter.rs.html#80-89' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
|
||||
</div></div><h3 id='impl-ExactSizeIterator' class='impl'><code class='in-band'>impl<T, N> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a> for <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-ExactSizeIterator' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#242-249' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.len' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html#method.len' class='fnname'>len</a>(&self) -> usize</code><a class='srclink' href='../../src/generic_array/iter.rs.html#246-248' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the exact length of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html#method.len">Read more</a></p>
|
||||
</div><h4 id='method.is_empty' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html#method.is_empty' class='fnname'>is_empty</a>(&self) -> bool</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/exact_size.rs.html#128-130' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>exact_size_is_empty</code>)</div></div><div class='docblock hidden'><p>Returns <code>true</code> if the iterator is empty. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html#method.is_empty">Read more</a></p>
|
||||
</div></div><h3 id='impl-Iterator' class='impl'><code class='in-band'>impl<T, N> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Iterator' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#115-164' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Item' class="type"><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = T</code></h4><div class='docblock'><p>The type of the elements being iterated over.</p>
|
||||
</div><h4 id='method.next' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next' class='fnname'>next</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></code><a class='srclink' href='../../src/generic_array/iter.rs.html#122-132' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next">Read more</a></p>
|
||||
</div><h4 id='method.size_hint' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.size_hint' class='fnname'>size_hint</a>(&self) -> (usize, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize>)</code><a class='srclink' href='../../src/generic_array/iter.rs.html#135-138' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the bounds on the remaining length of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.size_hint">Read more</a></p>
|
||||
</div><h4 id='method.count' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.count' class='fnname'>count</a>(self) -> usize</code><a class='srclink' href='../../src/generic_array/iter.rs.html#141-143' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Consumes the iterator, counting the number of iterations and returning it. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.count">Read more</a></p>
|
||||
</div><h4 id='method.nth' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.nth' class='fnname'>nth</a>(&mut self, n: usize) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></code><a class='srclink' href='../../src/generic_array/iter.rs.html#145-158' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the <code>n</code>th element of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.nth">Read more</a></p>
|
||||
</div><h4 id='method.last' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.last' class='fnname'>last</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></code><a class='srclink' href='../../src/generic_array/iter.rs.html#160-163' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Consumes the iterator, returning the last element. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.last">Read more</a></p>
|
||||
</div></div><h3 id='impl-FusedIterator' class='impl'><code class='in-band'>impl<T, N> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/marker/trait.FusedIterator.html" title="trait core::iter::traits::marker::FusedIterator">FusedIterator</a> for <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-FusedIterator' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#251-255' title='goto source code'>[src]</a></h3><div class='impl-items'></div><h3 id='impl-Iterator' class='impl'><code class='in-band'>impl<T, N> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="../../generic_array/iter/struct.GenericArrayIter.html" title="struct generic_array::iter::GenericArrayIter">GenericArrayIter</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Iterator' class='anchor'></a><a class='srclink' href='../../src/generic_array/iter.rs.html#119-197' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Item' class="type"><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = T</code></h4><div class='docblock'><p>The type of the elements being iterated over.</p>
|
||||
</div><h4 id='method.next' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next' class='fnname'>next</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></code><a class='srclink' href='../../src/generic_array/iter.rs.html#126-136' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next">Read more</a></p>
|
||||
</div><h4 id='method.fold' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.fold' class='fnname'>fold</a><B, F>(self, init: B, f: F) -> B <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> B, </span></code><a class='srclink' href='../../src/generic_array/iter.rs.html#138-164' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>An iterator method that applies a function, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.fold">Read more</a></p>
|
||||
</div><h4 id='method.size_hint' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.size_hint' class='fnname'>size_hint</a>(&self) -> (usize, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize>)</code><a class='srclink' href='../../src/generic_array/iter.rs.html#167-170' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the bounds on the remaining length of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.size_hint">Read more</a></p>
|
||||
</div><h4 id='method.count' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.count' class='fnname'>count</a>(self) -> usize</code><a class='srclink' href='../../src/generic_array/iter.rs.html#173-175' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Consumes the iterator, counting the number of iterations and returning it. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.count">Read more</a></p>
|
||||
</div><h4 id='method.nth' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.nth' class='fnname'>nth</a>(&mut self, n: usize) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></code><a class='srclink' href='../../src/generic_array/iter.rs.html#177-190' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the <code>n</code>th element of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.nth">Read more</a></p>
|
||||
</div><h4 id='method.last' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.last' class='fnname'>last</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></code><a class='srclink' href='../../src/generic_array/iter.rs.html#193-196' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Consumes the iterator, returning the last element. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.last">Read more</a></p>
|
||||
</div><h4 id='method.advance_by' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.advance_by' class='fnname'>advance_by</a>(&mut self, n: usize) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(), usize></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/iterator.rs.html#318-323' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><details><summary><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>iter_advance_by</code>)</summary><p>recently added</p>
|
||||
</details></div></div><div class='docblock hidden'><p>Advances the iterator by <code>n</code> elements. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.advance_by">Read more</a></p>
|
||||
</div><h4 id='method.step_by' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.step_by' class='fnname'>step_by</a>(self, step: usize) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/adapters/struct.StepBy.html" title="struct core::iter::adapters::StepBy">StepBy</a><Self></code><span class='since' title='Stable since Rust version 1.28.0'>1.28.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/iterator.rs.html#417-422' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Creates an iterator starting at the same point, but stepping by
|
||||
@ -68,7 +69,6 @@ such that all those that return <code>true</code> precede all those that return
|
||||
successfully, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.try_fold">Read more</a></p>
|
||||
</div><h4 id='method.try_for_each' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.try_for_each' class='fnname'>try_for_each</a><F, R>(&mut self, f: F) -> R <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> R,<br> R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/try/trait.Try.html" title="trait core::ops::try::Try">Try</a><Ok = ()>, </span></code><span class='since' title='Stable since Rust version 1.27.0'>1.27.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/iterator.rs.html#1922-1934' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>An iterator method that applies a fallible function to each item in the
|
||||
iterator, stopping at the first error and returning that error. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.try_for_each">Read more</a></p>
|
||||
</div><h4 id='method.fold' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.fold' class='fnname'>fold</a><B, F>(self, init: B, f: F) -> B <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> B, </span></code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/iterator.rs.html#2016-2026' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>An iterator method that applies a function, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.fold">Read more</a></p>
|
||||
</div><h4 id='method.fold_first' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.fold_first' class='fnname'>fold_first</a><F>(self, f: F) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, </span></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/iterator.rs.html#2058-2065' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>iterator_fold_self</code>)</div></div><div class='docblock hidden'><p>The same as <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.fold"><code>fold()</code></a>, but uses the first element in the
|
||||
iterator as the initial value, folding every subsequent element into it.
|
||||
If the iterator is empty, return <a href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html#variant.None" title="None"><code>None</code></a>; otherwise, return the result
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!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 `arr` macro in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, arr"><title>generic_array::arr - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></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"><div class="sidebar-menu">☰</div><a href='../generic_array/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class='location'><a href='index.html'>generic_array</a></p><script>window.sidebarCurrent = {name: 'arr', ty: 'macro', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/generic_array/arr.rs.html#48-57' title='goto source code'>[src]</a></span><span class='in-band'>Macro <a href='index.html'>generic_array</a>::<wbr><a class="macro" href=''>arr</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><div class="example-wrap"><pre class="rust macro">
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/generic_array/arr.rs.html#58-67' title='goto source code'>[src]</a></span><span class='in-band'>Macro <a href='index.html'>generic_array</a>::<wbr><a class="macro" href=''>arr</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><div class="example-wrap"><pre class="rust macro">
|
||||
<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">arr</span> {
|
||||
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>:<span class="ident">ty</span>; $(,)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">></span> { ... };
|
||||
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>:<span class="ident">ty</span>; $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>:<span class="ident">expr</span>),<span class="op">*</span> $(,)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">></span> { ... };
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!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 `sequence` mod in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, sequence"><title>generic_array::sequence - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></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"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module sequence</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class='location'><a href='../index.html'>generic_array</a></p><script>window.sidebarCurrent = {name: 'sequence', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/sequence.rs.html#1-320' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>generic_array</a>::<wbr><a class="mod" href=''>sequence</a></span></h1><div class='docblock'><p>Useful traits for manipulating sequences of data stored in <code>GenericArray</code>s</p>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/sequence.rs.html#1-380' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>generic_array</a>::<wbr><a class="mod" href=''>sequence</a></span></h1><div class='docblock'><p>Useful traits for manipulating sequences of data stored in <code>GenericArray</code>s</p>
|
||||
</div><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
|
||||
<table><tr class='module-item'><td><a class="trait" href="trait.Concat.html" title='generic_array::sequence::Concat trait'>Concat</a></td><td class='docblock-short'><p>Defines <code>GenericSequence</code>s which can be joined together, forming a larger array.</p>
|
||||
</td></tr><tr class='module-item'><td><a class="trait" href="trait.GenericSequence.html" title='generic_array::sequence::GenericSequence trait'>GenericSequence</a></td><td class='docblock-short'><p>Defines some sequence with an associated length and iteration capabilities.</p>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!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 `Concat` trait in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, Concat"><title>generic_array::sequence::Concat - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Trait Concat</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Output">Output</a><a href="#associatedtype.Rest">Rest</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.concat">concat</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a></p><script>window.sidebarCurrent = {name: 'Concat', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/sequence.rs.html#285-297' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a>::<wbr><a class="trait" href=''>Concat</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub unsafe trait Concat<T, M>: <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><T> <span class="where fmt-newline">where<br> M: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span>{
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/sequence.rs.html#343-355' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a>::<wbr><a class="trait" href=''>Concat</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub unsafe trait Concat<T, M>: <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><T> <span class="where fmt-newline">where<br> M: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span>{
|
||||
type <a href='#associatedtype.Rest' class="type">Rest</a>: <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><T, Length = M>;
|
||||
type <a href='#associatedtype.Output' class="type">Output</a>: <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><T>;
|
||||
fn <a href='#tymethod.concat' class='fnname'>concat</a>(self, rest: Self::<a class="type" href="../../generic_array/sequence/trait.Concat.html#associatedtype.Rest" title="type generic_array::sequence::Concat::Rest">Rest</a>) -> Self::<a class="type" href="../../generic_array/sequence/trait.Concat.html#associatedtype.Output" title="type generic_array::sequence::Concat::Output">Output</a>;
|
||||
@ -9,4 +9,4 @@
|
||||
</div><h2 id='associated-types' class='small-section-header'>Associated Types<a href='#associated-types' class='anchor'></a></h2><div class='methods'><h3 id='associatedtype.Rest' class='method'><code>type <a href='#associatedtype.Rest' class="type">Rest</a>: <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><T, Length = M></code></h3><div class='docblock'><p>Sequence to be concatenated with <code>self</code></p>
|
||||
</div><h3 id='associatedtype.Output' class='method'><code>type <a href='#associatedtype.Output' class="type">Output</a>: <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><T></code></h3><div class='docblock'><p>Resulting sequence formed by the concatenation.</p>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='required-methods' class='small-section-header'>Required methods<a href='#required-methods' class='anchor'></a></h2><div class='methods'><h3 id='tymethod.concat' class='method'><code>fn <a href='#tymethod.concat' class='fnname'>concat</a>(self, rest: Self::<a class="type" href="../../generic_array/sequence/trait.Concat.html#associatedtype.Rest" title="type generic_array::sequence::Concat::Rest">Rest</a>) -> Self::<a class="type" href="../../generic_array/sequence/trait.Concat.html#associatedtype.Output" title="type generic_array::sequence::Concat::Output">Output</a></code></h3><div class='docblock'><p>Concatenate, or join, two sequences.</p>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-Concat%3CT%2C%20M%3E' class='impl'><code class='in-band'>impl<T, N, M> Concat<T, M> for <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><M>,<br> M: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>,<br> <a class="type" href="../../typenum/operator_aliases/type.Sum.html" title="type typenum::operator_aliases::Sum">Sum</a><N, M>: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Concat%3CT%2C%20M%3E' class='anchor'></a><a class='srclink' href='../../src/generic_array/sequence.rs.html#299-320' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Rest-1' class="type"><code>type <a href='#associatedtype.Rest-1' class="type">Rest</a> = <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, M></code></h4><h4 id='associatedtype.Output-1' class="type"><code>type <a href='#associatedtype.Output-1' class="type">Output</a> = <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, <a class="type" href="../../typenum/operator_aliases/type.Sum.html" title="type typenum::operator_aliases::Sum">Sum</a><N, M>></code></h4><h4 id='method.concat' class="method hidden"><code>fn <a href='#method.concat' class='fnname'>concat</a>(self, rest: Self::<a class="type" href="../../generic_array/sequence/trait.Concat.html#associatedtype.Rest" title="type generic_array::sequence::Concat::Rest">Rest</a>) -> Self::<a class="type" href="../../generic_array/sequence/trait.Concat.html#associatedtype.Output" title="type generic_array::sequence::Concat::Output">Output</a></code><a class='srclink' href='../../src/generic_array/sequence.rs.html#308-319' title='goto source code'>[src]</a></h4></div></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../../implementors/generic_array/sequence/trait.Concat.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-Concat%3CT%2C%20M%3E' class='impl'><code class='in-band'>impl<T, N, M> Concat<T, M> for <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><M>,<br> M: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>,<br> <a class="type" href="../../typenum/operator_aliases/type.Sum.html" title="type typenum::operator_aliases::Sum">Sum</a><N, M>: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Concat%3CT%2C%20M%3E' class='anchor'></a><a class='srclink' href='../../src/generic_array/sequence.rs.html#357-380' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Rest-1' class="type"><code>type <a href='#associatedtype.Rest-1' class="type">Rest</a> = <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, M></code></h4><h4 id='associatedtype.Output-1' class="type"><code>type <a href='#associatedtype.Output-1' class="type">Output</a> = <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, <a class="type" href="../../typenum/operator_aliases/type.Sum.html" title="type typenum::operator_aliases::Sum">Sum</a><N, M>></code></h4><h4 id='method.concat' class="method hidden"><code>fn <a href='#method.concat' class='fnname'>concat</a>(self, rest: Self::<a class="type" href="../../generic_array/sequence/trait.Concat.html#associatedtype.Rest" title="type generic_array::sequence::Concat::Rest">Rest</a>) -> Self::<a class="type" href="../../generic_array/sequence/trait.Concat.html#associatedtype.Output" title="type generic_array::sequence::Concat::Output">Output</a></code><a class='srclink' href='../../src/generic_array/sequence.rs.html#366-379' title='goto source code'>[src]</a></h4></div></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../../implementors/generic_array/sequence/trait.Concat.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
File diff suppressed because one or more lines are too long
@ -1,7 +1,7 @@
|
||||
<!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 `Lengthen` trait in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, Lengthen"><title>generic_array::sequence::Lengthen - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Trait Lengthen</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Longer">Longer</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.append">append</a><a href="#tymethod.prepend">prepend</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a></p><script>window.sidebarCurrent = {name: 'Lengthen', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/sequence.rs.html#112-141' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a>::<wbr><a class="trait" href=''>Lengthen</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub unsafe trait Lengthen<T>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><T> {
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/sequence.rs.html#111-146' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a>::<wbr><a class="trait" href=''>Lengthen</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub unsafe trait Lengthen<T>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><T> {
|
||||
type <a href='#associatedtype.Longer' class="type">Longer</a>: <a class="trait" href="../../generic_array/sequence/trait.Shorten.html" title="trait generic_array::sequence::Shorten">Shorten</a><T, Shorter = Self>;
|
||||
fn <a href='#tymethod.append' class='fnname'>append</a>(self, last: T) -> Self::<a class="type" href="../../generic_array/sequence/trait.Lengthen.html#associatedtype.Longer" title="type generic_array::sequence::Lengthen::Longer">Longer</a>;
|
||||
<div class='item-spacer'></div> fn <a href='#tymethod.prepend' class='fnname'>prepend</a>(self, first: T) -> Self::<a class="type" href="../../generic_array/sequence/trait.Lengthen.html#associatedtype.Longer" title="type generic_array::sequence::Lengthen::Longer">Longer</a>;
|
||||
@ -12,7 +12,7 @@ or prepending an element to it.</p>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='required-methods' class='small-section-header'>Required methods<a href='#required-methods' class='anchor'></a></h2><div class='methods'><h3 id='tymethod.append' class='method'><code>fn <a href='#tymethod.append' class='fnname'>append</a>(self, last: T) -> Self::<a class="type" href="../../generic_array/sequence/trait.Lengthen.html#associatedtype.Longer" title="type generic_array::sequence::Lengthen::Longer">Longer</a></code></h3><div class='docblock'><p>Returns a new array with the given element appended to the end of it.</p>
|
||||
<p>Example:</p>
|
||||
|
||||
<div class='information'><div class='tooltip ignore'>ⓘ<span class='tooltiptext'>This example is not tested</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered ignore">
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">let</span> <span class="ident">a</span> <span class="op">=</span> <span class="macro">arr</span><span class="macro">!</span>[<span class="ident">i32</span>; <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
|
||||
|
||||
<span class="kw">let</span> <span class="ident">b</span> <span class="op">=</span> <span class="ident">a</span>.<span class="ident">append</span>(<span class="number">4</span>);
|
||||
@ -21,10 +21,10 @@ or prepending an element to it.</p>
|
||||
</div><h3 id='tymethod.prepend' class='method'><code>fn <a href='#tymethod.prepend' class='fnname'>prepend</a>(self, first: T) -> Self::<a class="type" href="../../generic_array/sequence/trait.Lengthen.html#associatedtype.Longer" title="type generic_array::sequence::Lengthen::Longer">Longer</a></code></h3><div class='docblock'><p>Returns a new array with the given element prepended to the front of it.</p>
|
||||
<p>Example:</p>
|
||||
|
||||
<div class='information'><div class='tooltip ignore'>ⓘ<span class='tooltiptext'>This example is not tested</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered ignore">
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">let</span> <span class="ident">a</span> <span class="op">=</span> <span class="macro">arr</span><span class="macro">!</span>[<span class="ident">i32</span>; <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
|
||||
|
||||
<span class="kw">let</span> <span class="ident">b</span> <span class="op">=</span> <span class="ident">a</span>.<span class="ident">prepend</span>(<span class="number">4</span>);
|
||||
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">b</span>, <span class="macro">arr</span><span class="macro">!</span>[<span class="ident">i32</span>; <span class="number">4</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);</pre></div>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-Lengthen%3CT%3E' class='impl'><code class='in-band'>impl<T, N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>> Lengthen<T> for <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><<a class="struct" href="../../typenum/bit/struct.B1.html" title="struct typenum::bit::B1">B1</a>>,<br> <a class="type" href="../../typenum/operator_aliases/type.Add1.html" title="type typenum::operator_aliases::Add1">Add1</a><N>: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>,<br> <a class="type" href="../../typenum/operator_aliases/type.Add1.html" title="type typenum::operator_aliases::Add1">Add1</a><N>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a><<a class="struct" href="../../typenum/bit/struct.B1.html" title="struct typenum::bit::B1">B1</a>, Output = N>,<br> <a class="type" href="../../typenum/operator_aliases/type.Sub1.html" title="type typenum::operator_aliases::Sub1">Sub1</a><<a class="type" href="../../typenum/operator_aliases/type.Add1.html" title="type typenum::operator_aliases::Add1">Add1</a><N>>: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Lengthen%3CT%3E' class='anchor'></a><a class='srclink' href='../../src/generic_array/sequence.rs.html#179-211' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Longer-1' class="type"><code>type <a href='#associatedtype.Longer-1' class="type">Longer</a> = <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, <a class="type" href="../../typenum/operator_aliases/type.Add1.html" title="type typenum::operator_aliases::Add1">Add1</a><N>></code></h4><h4 id='method.append' class="method hidden"><code>fn <a href='#method.append' class='fnname'>append</a>(self, last: T) -> Self::<a class="type" href="../../generic_array/sequence/trait.Lengthen.html#associatedtype.Longer" title="type generic_array::sequence::Lengthen::Longer">Longer</a></code><a class='srclink' href='../../src/generic_array/sequence.rs.html#188-197' title='goto source code'>[src]</a></h4><h4 id='method.prepend' class="method hidden"><code>fn <a href='#method.prepend' class='fnname'>prepend</a>(self, first: T) -> Self::<a class="type" href="../../generic_array/sequence/trait.Lengthen.html#associatedtype.Longer" title="type generic_array::sequence::Lengthen::Longer">Longer</a></code><a class='srclink' href='../../src/generic_array/sequence.rs.html#199-210' title='goto source code'>[src]</a></h4></div></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../../implementors/generic_array/sequence/trait.Lengthen.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-Lengthen%3CT%3E' class='impl'><code class='in-band'>impl<T, N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>> Lengthen<T> for <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><<a class="struct" href="../../typenum/bit/struct.B1.html" title="struct typenum::bit::B1">B1</a>>,<br> <a class="type" href="../../typenum/operator_aliases/type.Add1.html" title="type typenum::operator_aliases::Add1">Add1</a><N>: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>,<br> <a class="type" href="../../typenum/operator_aliases/type.Add1.html" title="type typenum::operator_aliases::Add1">Add1</a><N>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a><<a class="struct" href="../../typenum/bit/struct.B1.html" title="struct typenum::bit::B1">B1</a>, Output = N>,<br> <a class="type" href="../../typenum/operator_aliases/type.Sub1.html" title="type typenum::operator_aliases::Sub1">Sub1</a><<a class="type" href="../../typenum/operator_aliases/type.Add1.html" title="type typenum::operator_aliases::Add1">Add1</a><N>>: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Lengthen%3CT%3E' class='anchor'></a><a class='srclink' href='../../src/generic_array/sequence.rs.html#190-230' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Longer-1' class="type"><code>type <a href='#associatedtype.Longer-1' class="type">Longer</a> = <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, <a class="type" href="../../typenum/operator_aliases/type.Add1.html" title="type typenum::operator_aliases::Add1">Add1</a><N>></code></h4><h4 id='method.append' class="method hidden"><code>fn <a href='#method.append' class='fnname'>append</a>(self, last: T) -> Self::<a class="type" href="../../generic_array/sequence/trait.Lengthen.html#associatedtype.Longer" title="type generic_array::sequence::Lengthen::Longer">Longer</a></code><a class='srclink' href='../../src/generic_array/sequence.rs.html#199-213' title='goto source code'>[src]</a></h4><h4 id='method.prepend' class="method hidden"><code>fn <a href='#method.prepend' class='fnname'>prepend</a>(self, first: T) -> Self::<a class="type" href="../../generic_array/sequence/trait.Lengthen.html#associatedtype.Longer" title="type generic_array::sequence::Lengthen::Longer">Longer</a></code><a class='srclink' href='../../src/generic_array/sequence.rs.html#215-229' title='goto source code'>[src]</a></h4></div></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../../implementors/generic_array/sequence/trait.Lengthen.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
@ -1,7 +1,7 @@
|
||||
<!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 `Shorten` trait in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, Shorten"><title>generic_array::sequence::Shorten - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Trait Shorten</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Shorter">Shorter</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.pop_back">pop_back</a><a href="#tymethod.pop_front">pop_front</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a></p><script>window.sidebarCurrent = {name: 'Shorten', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/sequence.rs.html#147-177' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a>::<wbr><a class="trait" href=''>Shorten</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub unsafe trait Shorten<T>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><T> {
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/sequence.rs.html#152-188' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a>::<wbr><a class="trait" href=''>Shorten</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub unsafe trait Shorten<T>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../../generic_array/sequence/trait.GenericSequence.html" title="trait generic_array::sequence::GenericSequence">GenericSequence</a><T> {
|
||||
type <a href='#associatedtype.Shorter' class="type">Shorter</a>: <a class="trait" href="../../generic_array/sequence/trait.Lengthen.html" title="trait generic_array::sequence::Lengthen">Lengthen</a><T, Longer = Self>;
|
||||
fn <a href='#tymethod.pop_back' class='fnname'>pop_back</a>(self) -> (Self::<a class="type" href="../../generic_array/sequence/trait.Shorten.html#associatedtype.Shorter" title="type generic_array::sequence::Shorten::Shorter">Shorter</a>, T);
|
||||
<div class='item-spacer'></div> fn <a href='#tymethod.pop_front' class='fnname'>pop_front</a>(self) -> (T, Self::<a class="type" href="../../generic_array/sequence/trait.Shorten.html#associatedtype.Shorter" title="type generic_array::sequence::Shorten::Shorter">Shorter</a>);
|
||||
@ -12,7 +12,7 @@ appending or prepending an element to it.</p>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='required-methods' class='small-section-header'>Required methods<a href='#required-methods' class='anchor'></a></h2><div class='methods'><h3 id='tymethod.pop_back' class='method'><code>fn <a href='#tymethod.pop_back' class='fnname'>pop_back</a>(self) -> (Self::<a class="type" href="../../generic_array/sequence/trait.Shorten.html#associatedtype.Shorter" title="type generic_array::sequence::Shorten::Shorter">Shorter</a>, T)</code></h3><div class='docblock'><p>Returns a new array without the last element, and the last element.</p>
|
||||
<p>Example:</p>
|
||||
|
||||
<div class='information'><div class='tooltip ignore'>ⓘ<span class='tooltiptext'>This example is not tested</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered ignore">
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">let</span> <span class="ident">a</span> <span class="op">=</span> <span class="macro">arr</span><span class="macro">!</span>[<span class="ident">i32</span>; <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>];
|
||||
|
||||
<span class="kw">let</span> (<span class="ident">init</span>, <span class="ident">last</span>) <span class="op">=</span> <span class="ident">a</span>.<span class="ident">pop_back</span>();
|
||||
@ -22,11 +22,11 @@ appending or prepending an element to it.</p>
|
||||
</div><h3 id='tymethod.pop_front' class='method'><code>fn <a href='#tymethod.pop_front' class='fnname'>pop_front</a>(self) -> (T, Self::<a class="type" href="../../generic_array/sequence/trait.Shorten.html#associatedtype.Shorter" title="type generic_array::sequence::Shorten::Shorter">Shorter</a>)</code></h3><div class='docblock'><p>Returns a new array without the first element, and the first element.
|
||||
Example:</p>
|
||||
|
||||
<div class='information'><div class='tooltip ignore'>ⓘ<span class='tooltiptext'>This example is not tested</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered ignore">
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">let</span> <span class="ident">a</span> <span class="op">=</span> <span class="macro">arr</span><span class="macro">!</span>[<span class="ident">i32</span>; <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>];
|
||||
|
||||
<span class="kw">let</span> (<span class="ident">head</span>, <span class="ident">tail</span>) <span class="op">=</span> <span class="ident">a</span>.<span class="ident">pop_front</span>();
|
||||
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">head</span>, <span class="number">1</span>);
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tail</span>, <span class="macro">arr</span><span class="macro">!</span>[<span class="ident">i32</span>; <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);</pre></div>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-Shorten%3CT%3E' class='impl'><code class='in-band'>impl<T, N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>> Shorten<T> for <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a><<a class="struct" href="../../typenum/bit/struct.B1.html" title="struct typenum::bit::B1">B1</a>>,<br> <a class="type" href="../../typenum/operator_aliases/type.Sub1.html" title="type typenum::operator_aliases::Sub1">Sub1</a><N>: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>,<br> <a class="type" href="../../typenum/operator_aliases/type.Sub1.html" title="type typenum::operator_aliases::Sub1">Sub1</a><N>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><<a class="struct" href="../../typenum/bit/struct.B1.html" title="struct typenum::bit::B1">B1</a>, Output = N>,<br> <a class="type" href="../../typenum/operator_aliases/type.Add1.html" title="type typenum::operator_aliases::Add1">Add1</a><<a class="type" href="../../typenum/operator_aliases/type.Sub1.html" title="type typenum::operator_aliases::Sub1">Sub1</a><N>>: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Shorten%3CT%3E' class='anchor'></a><a class='srclink' href='../../src/generic_array/sequence.rs.html#213-245' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Shorter-1' class="type"><code>type <a href='#associatedtype.Shorter-1' class="type">Shorter</a> = <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, <a class="type" href="../../typenum/operator_aliases/type.Sub1.html" title="type typenum::operator_aliases::Sub1">Sub1</a><N>></code></h4><h4 id='method.pop_back' class="method hidden"><code>fn <a href='#method.pop_back' class='fnname'>pop_back</a>(self) -> (Self::<a class="type" href="../../generic_array/sequence/trait.Shorten.html#associatedtype.Shorter" title="type generic_array::sequence::Shorten::Shorter">Shorter</a>, T)</code><a class='srclink' href='../../src/generic_array/sequence.rs.html#222-232' title='goto source code'>[src]</a></h4><h4 id='method.pop_front' class="method hidden"><code>fn <a href='#method.pop_front' class='fnname'>pop_front</a>(self) -> (T, Self::<a class="type" href="../../generic_array/sequence/trait.Shorten.html#associatedtype.Shorter" title="type generic_array::sequence::Shorten::Shorter">Shorter</a>)</code><a class='srclink' href='../../src/generic_array/sequence.rs.html#234-244' title='goto source code'>[src]</a></h4></div></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../../implementors/generic_array/sequence/trait.Shorten.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-Shorten%3CT%3E' class='impl'><code class='in-band'>impl<T, N: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>> Shorten<T> for <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, N> <span class="where fmt-newline">where<br> N: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a><<a class="struct" href="../../typenum/bit/struct.B1.html" title="struct typenum::bit::B1">B1</a>>,<br> <a class="type" href="../../typenum/operator_aliases/type.Sub1.html" title="type typenum::operator_aliases::Sub1">Sub1</a><N>: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>,<br> <a class="type" href="../../typenum/operator_aliases/type.Sub1.html" title="type typenum::operator_aliases::Sub1">Sub1</a><N>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><<a class="struct" href="../../typenum/bit/struct.B1.html" title="struct typenum::bit::B1">B1</a>, Output = N>,<br> <a class="type" href="../../typenum/operator_aliases/type.Add1.html" title="type typenum::operator_aliases::Add1">Add1</a><<a class="type" href="../../typenum/operator_aliases/type.Sub1.html" title="type typenum::operator_aliases::Sub1">Sub1</a><N>>: <a class="trait" href="../../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>, </span></code><a href='#impl-Shorten%3CT%3E' class='anchor'></a><a class='srclink' href='../../src/generic_array/sequence.rs.html#232-263' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Shorter-1' class="type"><code>type <a href='#associatedtype.Shorter-1' class="type">Shorter</a> = <a class="struct" href="../../generic_array/struct.GenericArray.html" title="struct generic_array::GenericArray">GenericArray</a><T, <a class="type" href="../../typenum/operator_aliases/type.Sub1.html" title="type typenum::operator_aliases::Sub1">Sub1</a><N>></code></h4><h4 id='method.pop_back' class="method hidden"><code>fn <a href='#method.pop_back' class='fnname'>pop_back</a>(self) -> (Self::<a class="type" href="../../generic_array/sequence/trait.Shorten.html#associatedtype.Shorter" title="type generic_array::sequence::Shorten::Shorter">Shorter</a>, T)</code><a class='srclink' href='../../src/generic_array/sequence.rs.html#241-250' title='goto source code'>[src]</a></h4><h4 id='method.pop_front' class="method hidden"><code>fn <a href='#method.pop_front' class='fnname'>pop_front</a>(self) -> (T, Self::<a class="type" href="../../generic_array/sequence/trait.Shorten.html#associatedtype.Shorter" title="type generic_array::sequence::Shorten::Shorter">Shorter</a>)</code><a class='srclink' href='../../src/generic_array/sequence.rs.html#252-262' title='goto source code'>[src]</a></h4></div></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../../implementors/generic_array/sequence/trait.Shorten.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
File diff suppressed because one or more lines are too long
@ -1,7 +1,7 @@
|
||||
<!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 `SequenceItem` type in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, SequenceItem"><title>generic_array::sequence::SequenceItem - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Type Definition SequenceItem</p><div class="sidebar-elems"><p class='location'><a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a></p><script>window.sidebarCurrent = {name: 'SequenceItem', ty: 'type', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/sequence.rs.html#74' title='goto source code'>[src]</a></span><span class='in-band'>Type Definition <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a>::<wbr><a class="type" href=''>SequenceItem</a></span></h1><pre class='rust typedef'>type SequenceItem<T> = <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>;</pre><div class='docblock'><p>Accessor for <code>GenericSequence</code> item type, which is really <code>IntoIterator::Item</code></p>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../src/generic_array/sequence.rs.html#73' title='goto source code'>[src]</a></span><span class='in-band'>Type Definition <a href='../index.html'>generic_array</a>::<wbr><a href='index.html'>sequence</a>::<wbr><a class="type" href=''>SequenceItem</a></span></h1><pre class='rust typedef'>type SequenceItem<T> = <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>;</pre><div class='docblock'><p>Accessor for <code>GenericSequence</code> item type, which is really <code>IntoIterator::Item</code></p>
|
||||
<p>For deeply nested generic mapped sequence types, like shown in <code>tests/generics.rs</code>,
|
||||
this can be useful for keeping things organized.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
File diff suppressed because one or more lines are too long
@ -1,8 +1,8 @@
|
||||
<!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 `ArrayLength` trait in crate `generic_array`."><meta name="keywords" content="rust, rustlang, rust-lang, ArrayLength"><title>generic_array::ArrayLength - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../generic_array/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Trait ArrayLength</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.ArrayType">ArrayType</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-ArrayLength%3CT%3E-for-UInt%3CN%2C%20B0%3E">UInt<N, B0></a><a href="#impl-ArrayLength%3CT%3E-for-UInt%3CN%2C%20B1%3E">UInt<N, B1></a><a href="#impl-ArrayLength%3CT%3E-for-UTerm">UTerm</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='index.html'>generic_array</a></p><script>window.sidebarCurrent = {name: 'ArrayLength', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/generic_array/lib.rs.html#75-78' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='index.html'>generic_array</a>::<wbr><a class="trait" href=''>ArrayLength</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub unsafe trait ArrayLength<T>: <a class="trait" href="../typenum/marker_traits/trait.Unsigned.html" title="trait typenum::marker_traits::Unsigned">Unsigned</a> {
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/generic_array/lib.rs.html#105-108' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='index.html'>generic_array</a>::<wbr><a class="trait" href=''>ArrayLength</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub unsafe trait ArrayLength<T>: <a class="trait" href="../typenum/marker_traits/trait.Unsigned.html" title="trait typenum::marker_traits::Unsigned">Unsigned</a> {
|
||||
type <a href='#associatedtype.ArrayType' class="type">ArrayType</a>;
|
||||
}</pre></div><div class='docblock'><p>Trait making <code>GenericArray</code> work, marking types to be used as length of an array</p>
|
||||
</div><h2 id='associated-types' class='small-section-header'>Associated Types<a href='#associated-types' class='anchor'></a></h2><div class='methods'><h3 id='associatedtype.ArrayType' class='method'><code>type <a href='#associatedtype.ArrayType' class="type">ArrayType</a></code></h3><div class='docblock'><p>Associated type representing the array type for the number</p>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='foreign-impls' class='small-section-header'>Implementations on Foreign Types<a href='#foreign-impls' class='anchor'></a></h2><h3 id='impl-ArrayLength%3CT%3E-for-UTerm' class='impl'><code class='in-band'>impl<T> <a class="trait" href="../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T> for <a class="struct" href="../typenum/uint/struct.UTerm.html" title="struct typenum::uint::UTerm">UTerm</a></code><a href='#impl-ArrayLength%3CT%3E-for-UTerm' class='anchor'></a><a class='srclink' href='../src/generic_array/lib.rs.html#80-83' title='goto source code'>[src]</a></h3><div class='impl-items'></div><h3 id='impl-ArrayLength%3CT%3E-for-UInt%3CN%2C%20B0%3E' class='impl'><code class='in-band'>impl<T, N: <a class="trait" href="../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>> <a class="trait" href="../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T> for <a class="struct" href="../typenum/uint/struct.UInt.html" title="struct typenum::uint::UInt">UInt</a><N, <a class="struct" href="../typenum/bit/struct.B0.html" title="struct typenum::bit::B0">B0</a>></code><a href='#impl-ArrayLength%3CT%3E-for-UInt%3CN%2C%20B0%3E' class='anchor'></a><a class='srclink' href='../src/generic_array/lib.rs.html#129-132' title='goto source code'>[src]</a></h3><div class='impl-items'></div><h3 id='impl-ArrayLength%3CT%3E-for-UInt%3CN%2C%20B1%3E' class='impl'><code class='in-band'>impl<T, N: <a class="trait" href="../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>> <a class="trait" href="../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T> for <a class="struct" href="../typenum/uint/struct.UInt.html" title="struct typenum::uint::UInt">UInt</a><N, <a class="struct" href="../typenum/bit/struct.B1.html" title="struct typenum::bit::B1">B1</a>></code><a href='#impl-ArrayLength%3CT%3E-for-UInt%3CN%2C%20B1%3E' class='anchor'></a><a class='srclink' href='../src/generic_array/lib.rs.html#134-137' title='goto source code'>[src]</a></h3><div class='impl-items'></div><span class='loading-content'>Loading content...</span><h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../implementors/generic_array/trait.ArrayLength.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "generic_array";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
</div></div><span class='loading-content'>Loading content...</span><h2 id='foreign-impls' class='small-section-header'>Implementations on Foreign Types<a href='#foreign-impls' class='anchor'></a></h2><h3 id='impl-ArrayLength%3CT%3E-for-UTerm' class='impl'><code class='in-band'>impl<T> <a class="trait" href="../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T> for <a class="struct" href="../typenum/uint/struct.UTerm.html" title="struct typenum::uint::UTerm">UTerm</a></code><a href='#impl-ArrayLength%3CT%3E-for-UTerm' class='anchor'></a><a class='srclink' href='../src/generic_array/lib.rs.html#110-113' title='goto source code'>[src]</a></h3><div class='impl-items'></div><h3 id='impl-ArrayLength%3CT%3E-for-UInt%3CN%2C%20B0%3E' class='impl'><code class='in-band'>impl<T, N: <a class="trait" href="../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>> <a class="trait" href="../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T> for <a class="struct" href="../typenum/uint/struct.UInt.html" title="struct typenum::uint::UInt">UInt</a><N, <a class="struct" href="../typenum/bit/struct.B0.html" title="struct typenum::bit::B0">B0</a>></code><a href='#impl-ArrayLength%3CT%3E-for-UInt%3CN%2C%20B0%3E' class='anchor'></a><a class='srclink' href='../src/generic_array/lib.rs.html#159-162' title='goto source code'>[src]</a></h3><div class='impl-items'></div><h3 id='impl-ArrayLength%3CT%3E-for-UInt%3CN%2C%20B1%3E' class='impl'><code class='in-band'>impl<T, N: <a class="trait" href="../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T>> <a class="trait" href="../generic_array/trait.ArrayLength.html" title="trait generic_array::ArrayLength">ArrayLength</a><T> for <a class="struct" href="../typenum/uint/struct.UInt.html" title="struct typenum::uint::UInt">UInt</a><N, <a class="struct" href="../typenum/bit/struct.B1.html" title="struct typenum::bit::B1">B1</a>></code><a href='#impl-ArrayLength%3CT%3E-for-UInt%3CN%2C%20B1%3E' class='anchor'></a><a class='srclink' href='../src/generic_array/lib.rs.html#164-167' title='goto source code'>[src]</a></h3><div class='impl-items'></div><span class='loading-content'>Loading content...</span><h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../implementors/generic_array/trait.ArrayLength.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "generic_array";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
@ -72,7 +72,7 @@ It <em>might</em> compile on older versions but that may change in any new patch
|
||||
</td></tr></table><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
|
||||
<table><tr class='module-item'><td><a class="struct" href="struct.HistoryBuffer.html" title='heapless::HistoryBuffer struct'>HistoryBuffer</a></td><td class='docblock-short'><p>A "history buffer", similar to a write-only ring buffer of fixed length.</p>
|
||||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.IndexMap.html" title='heapless::IndexMap struct'>IndexMap</a></td><td class='docblock-short'><p>Fixed capacity <a href="https://docs.rs/indexmap/1/indexmap/map/struct.IndexMap.html"><code>IndexMap</code></a></p>
|
||||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.IndexSet.html" title='heapless::IndexSet struct'>IndexSet</a></td><td class='docblock-short'><p>Fixed capacity <a href="https://docs.rs/indexmap/1/indexmap/set/struct.IndexSet.html"><code>IndexSet</code></a></p>
|
||||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.IndexSet.html" title='heapless::IndexSet struct'>IndexSet</a></td><td class='docblock-short'><p>Fixed capacity <a href="https://docs.rs/indexmap/1/indexmap/set/struct.IndexSet.html"><code>IndexSet</code></a>.</p>
|
||||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.LinearMap.html" title='heapless::LinearMap struct'>LinearMap</a></td><td class='docblock-short'><p>A fixed capacity map / dictionary that performs lookups via linear search</p>
|
||||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.String.html" title='heapless::String struct'>String</a></td><td class='docblock-short'><p>A fixed capacity <a href="https://doc.rust-lang.org/std/string/struct.String.html"><code>String</code></a></p>
|
||||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.Vec.html" title='heapless::Vec struct'>Vec</a></td><td class='docblock-short'><p>A fixed capacity <a href="https://doc.rust-lang.org/std/vec/struct.Vec.html"><code>Vec</code></a></p>
|
||||
@ -80,6 +80,9 @@ It <em>might</em> compile on older versions but that may change in any new patch
|
||||
<table><tr class='module-item'><td><a class="trait" href="trait.ArrayLength.html" title='heapless::ArrayLength trait'>ArrayLength</a></td><td class='docblock-short'><p>Trait making <code>GenericArray</code> work, marking types to be used as length of an array</p>
|
||||
</td></tr><tr class='module-item'><td><a class="trait" href="trait.PowerOfTwo.html" title='heapless::PowerOfTwo trait'>PowerOfTwo</a></td><td class='docblock-short'><p>The <strong>marker trait</strong> for type-level numbers which are a power of two.</p>
|
||||
</td></tr></table><h2 id='types' class='section-header'><a href="#types">Type Definitions</a></h2>
|
||||
<table><tr class='module-item'><td><a class="type" href="type.FnvIndexMap.html" title='heapless::FnvIndexMap type'>FnvIndexMap</a></td><td class='docblock-short'><p>An <code>IndexMap</code> using the default FNV hasher</p>
|
||||
</td></tr><tr class='module-item'><td><a class="type" href="type.FnvIndexSet.html" title='heapless::FnvIndexSet type'>FnvIndexSet</a></td><td class='docblock-short'><p>An <code>IndexSet</code> using the default FNV hasher</p>
|
||||
<table><tr class='module-item'><td><a class="type" href="type.FnvIndexMap.html" title='heapless::FnvIndexMap type'>FnvIndexMap</a></td><td class='docblock-short'><p>A <a href="./struct.IndexMap.html"><code>heaples::IndexMap</code></a> using the default FNV hasher</p>
|
||||
</td></tr><tr class='module-item'><td><a class="type" href="type.FnvIndexSet.html" title='heapless::FnvIndexSet type'>FnvIndexSet</a></td><td class='docblock-short'><p>A <a href="./struct.IndexSet.html"><code>heapless::IndexSet</code></a> using the
|
||||
default FNV hasher.
|
||||
A list of all Methods and Traits available for <code>FnvIndexSet</code> can be found in
|
||||
the <a href="./struct.IndexSet.html"><code>heapless::IndexSet</code></a> documentation.</p>
|
||||
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "heapless";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
@ -1 +1 @@
|
||||
initSidebarItems({"mod":[["binary_heap","A priority queue implemented with a binary heap."],["consts","Type aliases for many constants."],["i","Unfortunate implementation detail required to construct `heapless` types in const context"],["mpmc","A fixed capacity Multiple-Producer Multiple-Consumer (MPMC) lock-free queue"],["pool","A heap-less, interrupt-safe, lock-free memory pool (*)"],["spsc","Fixed capacity Single Producer Single Consumer (SPSC) queue"]],"struct":[["HistoryBuffer","A \"history buffer\", similar to a write-only ring buffer of fixed length."],["IndexMap","Fixed capacity `IndexMap`"],["IndexSet","Fixed capacity `IndexSet`"],["LinearMap","A fixed capacity map / dictionary that performs lookups via linear search"],["String","A fixed capacity `String`"],["Vec","A fixed capacity `Vec`"]],"trait":[["ArrayLength","Trait making `GenericArray` work, marking types to be used as length of an array"],["PowerOfTwo","The marker trait for type-level numbers which are a power of two."]],"type":[["FnvIndexMap","An `IndexMap` using the default FNV hasher"],["FnvIndexSet","An `IndexSet` using the default FNV hasher"]]});
|
||||
initSidebarItems({"mod":[["binary_heap","A priority queue implemented with a binary heap."],["consts","Type aliases for many constants."],["i","Unfortunate implementation detail required to construct `heapless` types in const context"],["mpmc","A fixed capacity Multiple-Producer Multiple-Consumer (MPMC) lock-free queue"],["pool","A heap-less, interrupt-safe, lock-free memory pool (*)"],["spsc","Fixed capacity Single Producer Single Consumer (SPSC) queue"]],"struct":[["HistoryBuffer","A \"history buffer\", similar to a write-only ring buffer of fixed length."],["IndexMap","Fixed capacity `IndexMap`"],["IndexSet","Fixed capacity `IndexSet`."],["LinearMap","A fixed capacity map / dictionary that performs lookups via linear search"],["String","A fixed capacity `String`"],["Vec","A fixed capacity `Vec`"]],"trait":[["ArrayLength","Trait making `GenericArray` work, marking types to be used as length of an array"],["PowerOfTwo","The marker trait for type-level numbers which are a power of two."]],"type":[["FnvIndexMap","A `heaples::IndexMap` using the default FNV hasher"],["FnvIndexSet","A `heapless::IndexSet` using the default FNV hasher. A list of all Methods and Traits available for `FnvIndexSet` can be found in the `heapless::IndexSet` documentation."]]});
|
File diff suppressed because one or more lines are too long
@ -1,9 +1,15 @@
|
||||
<!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 `IndexSet` struct in crate `heapless`."><meta name="keywords" content="rust, rustlang, rust-lang, IndexSet"><title>heapless::IndexSet - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../heapless/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Struct IndexSet</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.capacity">capacity</a><a href="#method.clear">clear</a><a href="#method.contains">contains</a><a href="#method.difference">difference</a><a href="#method.insert">insert</a><a href="#method.intersection">intersection</a><a href="#method.is_disjoint">is_disjoint</a><a href="#method.is_empty">is_empty</a><a href="#method.is_subset">is_subset</a><a href="#method.is_superset">is_superset</a><a href="#method.iter">iter</a><a href="#method.len">len</a><a href="#method.new">new</a><a href="#method.remove">remove</a><a href="#method.symmetric_difference">symmetric_difference</a><a href="#method.union">union</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Extend%3C%26%27a%20T%3E">Extend<&'a T></a><a href="#impl-Extend%3CT%3E">Extend<T></a><a href="#impl-FromIterator%3CT%3E">FromIterator<T></a><a href="#impl-IntoIterator">IntoIterator</a><a href="#impl-PartialEq%3CIndexSet%3CT%2C%20N2%2C%20S2%3E%3E">PartialEq<IndexSet<T, N2, S2>></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><p class='location'><a href='index.html'>heapless</a></p><script>window.sidebarCurrent = {name: 'IndexSet', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/heapless/indexset.rs.html#44-50' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='index.html'>heapless</a>::<wbr><a class="struct" href=''>IndexSet</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct IndexSet<T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span> { /* fields omitted */ }</pre></div><div class='docblock'><p>Fixed capacity <a href="https://docs.rs/indexmap/1/indexmap/set/struct.IndexSet.html"><code>IndexSet</code></a></p>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/heapless/indexset.rs.html#82-88' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='index.html'>heapless</a>::<wbr><a class="struct" href=''>IndexSet</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct IndexSet<T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span> { /* fields omitted */ }</pre></div><div class='docblock'><p>Fixed capacity <a href="https://docs.rs/indexmap/1/indexmap/set/struct.IndexSet.html"><code>IndexSet</code></a>.</p>
|
||||
<p>Note that you cannot use <code>IndexSet</code> directly, since it is generic around the hashing algorithm
|
||||
in use. Pick a concrete instantiation like <a href="./type.FnvIndexSet.html"><code>FnvIndexSet</code></a> instead
|
||||
or create your own.</p>
|
||||
<p>Note that the capacity of the <code>IndexSet</code> must be a power of 2.</p>
|
||||
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
|
||||
<p>Since <code>IndexSet</code> cannot be used directly, we're using its <code>FnvIndexSet</code> instantiation
|
||||
for this example.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">FnvIndexSet</span>;
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">consts</span>::<span class="kw-2">*</span>;
|
||||
@ -30,8 +36,8 @@
|
||||
<span class="kw">for</span> <span class="ident">book</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="ident">books</span> {
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">book</span>);
|
||||
}</pre></div>
|
||||
</div><h2 id='implementations' class='small-section-header'>Implementations<a href='#implementations' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl<T, N, S> <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, <a class="struct" href="../hash32/struct.BuildHasherDefault.html" title="struct hash32::BuildHasherDefault">BuildHasherDefault</a><S>> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="../hash32/trait.Hasher.html" title="trait hash32::Hasher">Hasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>> + <a class="trait" href="../heapless/trait.PowerOfTwo.html" title="trait heapless::PowerOfTwo">PowerOfTwo</a>, </span></code><a href='#impl' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#52-64' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code>pub fn <a href='#method.new' class='fnname'>new</a>() -> Self</code><a class='srclink' href='../src/heapless/indexset.rs.html#59-63' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates an empty <code>IndexSet</code></p>
|
||||
</div></div><h3 id='impl-1' class='impl'><code class='in-band'>impl<T, N, S> <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-1' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#66-452' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.capacity' class="method"><code>pub fn <a href='#method.capacity' class='fnname'>capacity</a>(&self) -> usize</code><a class='srclink' href='../src/heapless/indexset.rs.html#83-85' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the number of elements the set can hold</p>
|
||||
</div><h2 id='implementations' class='small-section-header'>Implementations<a href='#implementations' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl<T, N, S> <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, <a class="struct" href="../hash32/struct.BuildHasherDefault.html" title="struct hash32::BuildHasherDefault">BuildHasherDefault</a><S>> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="../hash32/trait.Hasher.html" title="trait hash32::Hasher">Hasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>> + <a class="trait" href="../heapless/trait.PowerOfTwo.html" title="trait heapless::PowerOfTwo">PowerOfTwo</a>, </span></code><a href='#impl' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#90-102' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code>pub fn <a href='#method.new' class='fnname'>new</a>() -> Self</code><a class='srclink' href='../src/heapless/indexset.rs.html#97-101' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates an empty <code>IndexSet</code></p>
|
||||
</div></div><h3 id='impl-1' class='impl'><code class='in-band'>impl<T, N, S> <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-1' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#104-490' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.capacity' class="method"><code>pub fn <a href='#method.capacity' class='fnname'>capacity</a>(&self) -> usize</code><a class='srclink' href='../src/heapless/indexset.rs.html#121-123' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the number of elements the set can hold</p>
|
||||
<h1 id="examples-1" class="section-header"><a href="#examples-1">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">FnvIndexSet</span>;
|
||||
@ -39,7 +45,7 @@
|
||||
|
||||
<span class="kw">let</span> <span class="ident">set</span> <span class="op">=</span> <span class="ident">FnvIndexSet</span>::<span class="op"><</span><span class="ident">i32</span>, <span class="ident">U16</span><span class="op">></span>::<span class="ident">new</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">capacity</span>(), <span class="number">16</span>);</pre></div>
|
||||
</div><h4 id='method.iter' class="method"><code>pub fn <a href='#method.iter' class='fnname'>iter</a>(&self) -> Iter<'_, T></code><a class='srclink' href='../src/heapless/indexset.rs.html#104-108' title='goto source code'>[src]</a></h4><div class='docblock'><p>Return an iterator over the values of the set, in their order</p>
|
||||
</div><h4 id='method.iter' class="method"><code>pub fn <a href='#method.iter' class='fnname'>iter</a>(&self) -> Iter<'_, T></code><a class='srclink' href='../src/heapless/indexset.rs.html#142-146' title='goto source code'>[src]</a></h4><div class='docblock'><p>Return an iterator over the values of the set, in their order</p>
|
||||
<h1 id="examples-2" class="section-header"><a href="#examples-2">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">FnvIndexSet</span>;
|
||||
@ -53,7 +59,7 @@
|
||||
<span class="kw">for</span> <span class="ident">x</span> <span class="kw">in</span> <span class="ident">set</span>.<span class="ident">iter</span>() {
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">x</span>);
|
||||
}</pre></div>
|
||||
</div><h4 id='method.difference' class="method"><code>pub fn <a href='#method.difference' class='fnname'>difference</a><'a, N2, S2>(<br> &'a self, <br> other: &'a <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2><br>) -> Difference<'a, T, N2, S2> <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#135-147' title='goto source code'>[src]</a></h4><div class='docblock'><p>Visits the values representing the difference, i.e. the values that are in <code>self</code> but not in
|
||||
</div><h4 id='method.difference' class="method"><code>pub fn <a href='#method.difference' class='fnname'>difference</a><'a, N2, S2>(<br> &'a self, <br> other: &'a <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2><br>) -> Difference<'a, T, N2, S2> <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#173-185' title='goto source code'>[src]</a></h4><div class='docblock'><p>Visits the values representing the difference, i.e. the values that are in <code>self</code> but not in
|
||||
<code>other</code>.</p>
|
||||
<h1 id="examples-3" class="section-header"><a href="#examples-3">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
@ -75,7 +81,7 @@
|
||||
<span class="comment">// and `b - a` means something else:</span>
|
||||
<span class="kw">let</span> <span class="ident">diff</span>: <span class="ident">FnvIndexSet</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">U16</span><span class="op">></span> <span class="op">=</span> <span class="ident">b</span>.<span class="ident">difference</span>(<span class="kw-2">&</span><span class="ident">a</span>).<span class="ident">collect</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">diff</span>, [<span class="number">4</span>].<span class="ident">iter</span>().<span class="ident">collect</span>::<span class="op"><</span><span class="ident">FnvIndexSet</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">U16</span><span class="op">></span><span class="op">></span>());</pre></div>
|
||||
</div><h4 id='method.symmetric_difference' class="method"><code>pub fn <a href='#method.symmetric_difference' class='fnname'>symmetric_difference</a><'a, N2, S2>(<br> &'a self, <br> other: &'a <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2><br>) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &'a T> <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#172-181' title='goto source code'>[src]</a></h4><div class='docblock'><p>Visits the values representing the symmetric difference, i.e. the values that are in <code>self</code>
|
||||
</div><h4 id='method.symmetric_difference' class="method"><code>pub fn <a href='#method.symmetric_difference' class='fnname'>symmetric_difference</a><'a, N2, S2>(<br> &'a self, <br> other: &'a <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2><br>) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &'a T> <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#210-219' title='goto source code'>[src]</a></h4><div class='docblock'><p>Visits the values representing the symmetric difference, i.e. the values that are in <code>self</code>
|
||||
or in <code>other</code> but not in both.</p>
|
||||
<h1 id="examples-4" class="section-header"><a href="#examples-4">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
@ -95,7 +101,7 @@ or in <code>other</code> but not in both.</p>
|
||||
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">diff1</span>, <span class="ident">diff2</span>);
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">diff1</span>, [<span class="number">1</span>, <span class="number">4</span>].<span class="ident">iter</span>().<span class="ident">collect</span>::<span class="op"><</span><span class="ident">FnvIndexSet</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">U16</span><span class="op">></span><span class="op">></span>());</pre></div>
|
||||
</div><h4 id='method.intersection' class="method"><code>pub fn <a href='#method.intersection' class='fnname'>intersection</a><'a, N2, S2>(<br> &'a self, <br> other: &'a <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2><br>) -> Intersection<'a, T, N2, S2> <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#203-215' title='goto source code'>[src]</a></h4><div class='docblock'><p>Visits the values representing the intersection, i.e. the values that are both in <code>self</code> and
|
||||
</div><h4 id='method.intersection' class="method"><code>pub fn <a href='#method.intersection' class='fnname'>intersection</a><'a, N2, S2>(<br> &'a self, <br> other: &'a <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2><br>) -> Intersection<'a, T, N2, S2> <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#241-253' title='goto source code'>[src]</a></h4><div class='docblock'><p>Visits the values representing the intersection, i.e. the values that are both in <code>self</code> and
|
||||
<code>other</code>.</p>
|
||||
<h1 id="examples-5" class="section-header"><a href="#examples-5">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
@ -112,7 +118,7 @@ or in <code>other</code> but not in both.</p>
|
||||
|
||||
<span class="kw">let</span> <span class="ident">intersection</span>: <span class="ident">FnvIndexSet</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">U16</span><span class="op">></span> <span class="op">=</span> <span class="ident">a</span>.<span class="ident">intersection</span>(<span class="kw-2">&</span><span class="ident">b</span>).<span class="ident">collect</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">intersection</span>, [<span class="number">2</span>, <span class="number">3</span>].<span class="ident">iter</span>().<span class="ident">collect</span>::<span class="op"><</span><span class="ident">FnvIndexSet</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">U16</span><span class="op">></span><span class="op">></span>());</pre></div>
|
||||
</div><h4 id='method.union' class="method"><code>pub fn <a href='#method.union' class='fnname'>union</a><'a, N2, S2>(<br> &'a self, <br> other: &'a <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2><br>) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &'a T> <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#237-246' title='goto source code'>[src]</a></h4><div class='docblock'><p>Visits the values representing the union, i.e. all the values in <code>self</code> or <code>other</code>, without
|
||||
</div><h4 id='method.union' class="method"><code>pub fn <a href='#method.union' class='fnname'>union</a><'a, N2, S2>(<br> &'a self, <br> other: &'a <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2><br>) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &'a T> <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#275-284' title='goto source code'>[src]</a></h4><div class='docblock'><p>Visits the values representing the union, i.e. all the values in <code>self</code> or <code>other</code>, without
|
||||
duplicates.</p>
|
||||
<h1 id="examples-6" class="section-header"><a href="#examples-6">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
@ -129,7 +135,7 @@ duplicates.</p>
|
||||
|
||||
<span class="kw">let</span> <span class="ident">union</span>: <span class="ident">FnvIndexSet</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">U16</span><span class="op">></span> <span class="op">=</span> <span class="ident">a</span>.<span class="ident">union</span>(<span class="kw-2">&</span><span class="ident">b</span>).<span class="ident">collect</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">union</span>, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>].<span class="ident">iter</span>().<span class="ident">collect</span>::<span class="op"><</span><span class="ident">FnvIndexSet</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">U16</span><span class="op">></span><span class="op">></span>());</pre></div>
|
||||
</div><h4 id='method.len' class="method"><code>pub fn <a href='#method.len' class='fnname'>len</a>(&self) -> usize</code><a class='srclink' href='../src/heapless/indexset.rs.html#261-263' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the number of elements in the set.</p>
|
||||
</div><h4 id='method.len' class="method"><code>pub fn <a href='#method.len' class='fnname'>len</a>(&self) -> usize</code><a class='srclink' href='../src/heapless/indexset.rs.html#299-301' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the number of elements in the set.</p>
|
||||
<h1 id="examples-7" class="section-header"><a href="#examples-7">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">FnvIndexSet</span>;
|
||||
@ -139,7 +145,7 @@ duplicates.</p>
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">v</span>.<span class="ident">len</span>(), <span class="number">0</span>);
|
||||
<span class="ident">v</span>.<span class="ident">insert</span>(<span class="number">1</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">v</span>.<span class="ident">len</span>(), <span class="number">1</span>);</pre></div>
|
||||
</div><h4 id='method.is_empty' class="method"><code>pub fn <a href='#method.is_empty' class='fnname'>is_empty</a>(&self) -> bool</code><a class='srclink' href='../src/heapless/indexset.rs.html#278-280' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns <code>true</code> if the set contains no elements.</p>
|
||||
</div><h4 id='method.is_empty' class="method"><code>pub fn <a href='#method.is_empty' class='fnname'>is_empty</a>(&self) -> bool</code><a class='srclink' href='../src/heapless/indexset.rs.html#316-318' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns <code>true</code> if the set contains no elements.</p>
|
||||
<h1 id="examples-8" class="section-header"><a href="#examples-8">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">FnvIndexSet</span>;
|
||||
@ -149,7 +155,7 @@ duplicates.</p>
|
||||
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">v</span>.<span class="ident">is_empty</span>());
|
||||
<span class="ident">v</span>.<span class="ident">insert</span>(<span class="number">1</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert</span><span class="macro">!</span>(<span class="op">!</span><span class="ident">v</span>.<span class="ident">is_empty</span>());</pre></div>
|
||||
</div><h4 id='method.clear' class="method"><code>pub fn <a href='#method.clear' class='fnname'>clear</a>(&mut self)</code><a class='srclink' href='../src/heapless/indexset.rs.html#295-297' title='goto source code'>[src]</a></h4><div class='docblock'><p>Clears the set, removing all values.</p>
|
||||
</div><h4 id='method.clear' class="method"><code>pub fn <a href='#method.clear' class='fnname'>clear</a>(&mut self)</code><a class='srclink' href='../src/heapless/indexset.rs.html#333-335' title='goto source code'>[src]</a></h4><div class='docblock'><p>Clears the set, removing all values.</p>
|
||||
<h1 id="examples-9" class="section-header"><a href="#examples-9">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">FnvIndexSet</span>;
|
||||
@ -159,7 +165,7 @@ duplicates.</p>
|
||||
<span class="ident">v</span>.<span class="ident">insert</span>(<span class="number">1</span>).<span class="ident">unwrap</span>();
|
||||
<span class="ident">v</span>.<span class="ident">clear</span>();
|
||||
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">v</span>.<span class="ident">is_empty</span>());</pre></div>
|
||||
</div><h4 id='method.contains' class="method"><code>pub fn <a href='#method.contains' class='fnname'>contains</a><Q: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(&self, value: &Q) -> bool <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q>,<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#314-320' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns <code>true</code> if the set contains a value.</p>
|
||||
</div><h4 id='method.contains' class="method"><code>pub fn <a href='#method.contains' class='fnname'>contains</a><Q: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(&self, value: &Q) -> bool <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q>,<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#352-358' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns <code>true</code> if the set contains a value.</p>
|
||||
<p>The value may be any borrowed form of the set's value type, but <code>Hash</code> and <code>Eq</code> on the
|
||||
borrowed form must match those for the value type.</p>
|
||||
<h1 id="examples-10" class="section-header"><a href="#examples-10">Examples</a></h1>
|
||||
@ -170,7 +176,7 @@ borrowed form must match those for the value type.</p>
|
||||
<span class="kw">let</span> <span class="ident">set</span>: <span class="ident">FnvIndexSet</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">U16</span><span class="op">></span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>].<span class="ident">iter</span>().<span class="ident">cloned</span>().<span class="ident">collect</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">contains</span>(<span class="kw-2">&</span><span class="number">1</span>), <span class="bool-val">true</span>);
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">contains</span>(<span class="kw-2">&</span><span class="number">4</span>), <span class="bool-val">false</span>);</pre></div>
|
||||
</div><h4 id='method.is_disjoint' class="method"><code>pub fn <a href='#method.is_disjoint' class='fnname'>is_disjoint</a><N2, S2>(&self, other: &<a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2>) -> bool <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#340-346' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns <code>true</code> if <code>self</code> has no elements in common with <code>other</code>. This is equivalent to
|
||||
</div><h4 id='method.is_disjoint' class="method"><code>pub fn <a href='#method.is_disjoint' class='fnname'>is_disjoint</a><N2, S2>(&self, other: &<a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2>) -> bool <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#378-384' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns <code>true</code> if <code>self</code> has no elements in common with <code>other</code>. This is equivalent to
|
||||
checking for an empty intersection.</p>
|
||||
<h1 id="examples-11" class="section-header"><a href="#examples-11">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
@ -185,7 +191,7 @@ checking for an empty intersection.</p>
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">a</span>.<span class="ident">is_disjoint</span>(<span class="kw-2">&</span><span class="ident">b</span>), <span class="bool-val">true</span>);
|
||||
<span class="ident">b</span>.<span class="ident">insert</span>(<span class="number">1</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">a</span>.<span class="ident">is_disjoint</span>(<span class="kw-2">&</span><span class="ident">b</span>), <span class="bool-val">false</span>);</pre></div>
|
||||
</div><h4 id='method.is_subset' class="method"><code>pub fn <a href='#method.is_subset' class='fnname'>is_subset</a><N2, S2>(&self, other: &<a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2>) -> bool <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#366-372' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns <code>true</code> if the set is a subset of another, i.e. <code>other</code> contains at least all the
|
||||
</div><h4 id='method.is_subset' class="method"><code>pub fn <a href='#method.is_subset' class='fnname'>is_subset</a><N2, S2>(&self, other: &<a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2>) -> bool <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#404-410' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns <code>true</code> if the set is a subset of another, i.e. <code>other</code> contains at least all the
|
||||
values in <code>self</code>.</p>
|
||||
<h1 id="examples-12" class="section-header"><a href="#examples-12">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
@ -200,7 +206,7 @@ values in <code>self</code>.</p>
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">is_subset</span>(<span class="kw-2">&</span><span class="ident">sup</span>), <span class="bool-val">true</span>);
|
||||
<span class="ident">set</span>.<span class="ident">insert</span>(<span class="number">4</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">is_subset</span>(<span class="kw-2">&</span><span class="ident">sup</span>), <span class="bool-val">false</span>);</pre></div>
|
||||
</div><h4 id='method.is_superset' class="method"><code>pub fn <a href='#method.is_superset' class='fnname'>is_superset</a><N2, S2>(&self, other: &<a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2>) -> bool <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#395-401' title='goto source code'>[src]</a></h4><div class='docblock'><h1 id="examples-13" class="section-header"><a href="#examples-13">Examples</a></h1>
|
||||
</div><h4 id='method.is_superset' class="method"><code>pub fn <a href='#method.is_superset' class='fnname'>is_superset</a><N2, S2>(&self, other: &<a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2>) -> bool <span class="where fmt-newline">where<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#433-439' title='goto source code'>[src]</a></h4><div class='docblock'><h1 id="examples-13" class="section-header"><a href="#examples-13">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">FnvIndexSet</span>;
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">consts</span>::<span class="kw-2">*</span>;
|
||||
@ -216,7 +222,7 @@ values in <code>self</code>.</p>
|
||||
|
||||
<span class="ident">set</span>.<span class="ident">insert</span>(<span class="number">2</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">is_superset</span>(<span class="kw-2">&</span><span class="ident">sub</span>), <span class="bool-val">true</span>);</pre></div>
|
||||
</div><h4 id='method.insert' class="method"><code>pub fn <a href='#method.insert' class='fnname'>insert</a>(&mut self, value: T) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><bool, T></code><a class='srclink' href='../src/heapless/indexset.rs.html#421-426' title='goto source code'>[src]</a></h4><div class='docblock'><p>Adds a value to the set.</p>
|
||||
</div><h4 id='method.insert' class="method"><code>pub fn <a href='#method.insert' class='fnname'>insert</a>(&mut self, value: T) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><bool, T></code><a class='srclink' href='../src/heapless/indexset.rs.html#459-464' title='goto source code'>[src]</a></h4><div class='docblock'><p>Adds a value to the set.</p>
|
||||
<p>If the set did not have this value present, <code>true</code> is returned.</p>
|
||||
<p>If the set did have this value present, <code>false</code> is returned.</p>
|
||||
<h1 id="examples-14" class="section-header"><a href="#examples-14">Examples</a></h1>
|
||||
@ -229,7 +235,7 @@ values in <code>self</code>.</p>
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">insert</span>(<span class="number">2</span>).<span class="ident">unwrap</span>(), <span class="bool-val">true</span>);
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">insert</span>(<span class="number">2</span>).<span class="ident">unwrap</span>(), <span class="bool-val">false</span>);
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">len</span>(), <span class="number">1</span>);</pre></div>
|
||||
</div><h4 id='method.remove' class="method"><code>pub fn <a href='#method.remove' class='fnname'>remove</a><Q: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(&mut self, value: &Q) -> bool <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q>,<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#445-451' title='goto source code'>[src]</a></h4><div class='docblock'><p>Removes a value from the set. Returns <code>true</code> if the value was present in the set.</p>
|
||||
</div><h4 id='method.remove' class="method"><code>pub fn <a href='#method.remove' class='fnname'>remove</a><Q: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(&mut self, value: &Q) -> bool <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q>,<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#483-489' title='goto source code'>[src]</a></h4><div class='docblock'><p>Removes a value from the set. Returns <code>true</code> if the value was present in the set.</p>
|
||||
<p>The value may be any borrowed form of the set's value type, but <code>Hash</code> and <code>Eq</code> on the
|
||||
borrowed form must match those for the value type.</p>
|
||||
<h1 id="examples-15" class="section-header"><a href="#examples-15">Examples</a></h1>
|
||||
@ -242,21 +248,21 @@ borrowed form must match those for the value type.</p>
|
||||
<span class="ident">set</span>.<span class="ident">insert</span>(<span class="number">2</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">remove</span>(<span class="kw-2">&</span><span class="number">2</span>), <span class="bool-val">true</span>);
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">set</span>.<span class="ident">remove</span>(<span class="kw-2">&</span><span class="number">2</span>), <span class="bool-val">false</span>);</pre></div>
|
||||
</div></div><h2 id='trait-implementations' class='small-section-header'>Trait Implementations<a href='#trait-implementations' class='anchor'></a></h2><div id='trait-implementations-list'><h3 id='impl-Clone' class='impl'><code class='in-band'>impl<T, N, S> <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="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,<br> S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-Clone' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#454-465' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.clone' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> Self</code><a class='srclink' href='../src/heapless/indexset.rs.html#460-464' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||
</div></div><h2 id='trait-implementations' class='small-section-header'>Trait Implementations<a href='#trait-implementations' class='anchor'></a></h2><div id='trait-implementations-list'><h3 id='impl-Clone' class='impl'><code class='in-band'>impl<T, N, S> <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="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,<br> S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-Clone' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#492-503' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.clone' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> Self</code><a class='srclink' href='../src/heapless/indexset.rs.html#498-502' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||
</div><h4 id='method.clone_from' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&mut self, source: &Self)</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#128-130' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||||
</div></div><h3 id='impl-Debug' class='impl'><code class='in-band'>impl<T, N, S> <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="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-Debug' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#467-476' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.fmt' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class='srclink' href='../src/heapless/indexset.rs.html#473-475' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||
</div></div><h3 id='impl-Default' class='impl'><code class='in-band'>impl<T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-Default' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#478-489' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.default' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default' class='fnname'>default</a>() -> Self</code><a class='srclink' href='../src/heapless/indexset.rs.html#484-488' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the "default value" for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
|
||||
</div></div><h3 id='impl-Extend%3C%26%27a%20T%3E' class='impl'><code class='in-band'>impl<'a, T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a><&'a T> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: 'a + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-Extend%3C%26%27a%20T%3E' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#518-530' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.extend-1' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend' class='fnname'>extend</a><I>(&mut self, iterable: I) <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = &'a T>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#524-529' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend">Read more</a></p>
|
||||
</div></div><h3 id='impl-Debug' class='impl'><code class='in-band'>impl<T, N, S> <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="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-Debug' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#505-514' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.fmt' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class='srclink' href='../src/heapless/indexset.rs.html#511-513' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||
</div></div><h3 id='impl-Default' class='impl'><code class='in-band'>impl<T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-Default' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#516-527' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.default' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default' class='fnname'>default</a>() -> Self</code><a class='srclink' href='../src/heapless/indexset.rs.html#522-526' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the "default value" for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
|
||||
</div></div><h3 id='impl-Extend%3C%26%27a%20T%3E' class='impl'><code class='in-band'>impl<'a, T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a><&'a T> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: 'a + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-Extend%3C%26%27a%20T%3E' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#556-568' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.extend-1' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend' class='fnname'>extend</a><I>(&mut self, iterable: I) <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = &'a T>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#562-567' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend">Read more</a></p>
|
||||
</div><h4 id='method.extend_one-1' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one' class='fnname'>extend_one</a>(&mut self, item: A)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#340-342' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>extend_one</code>)</div></div><div class='docblock hidden'><p>Extends a collection with exactly one element.</p>
|
||||
</div><h4 id='method.extend_reserve-1' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve' class='fnname'>extend_reserve</a>(&mut self, additional: usize)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#348-350' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>extend_one</code>)</div></div><div class='docblock hidden'><p>Reserves capacity in a collection for the given number of additional elements. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve">Read more</a></p>
|
||||
</div></div><h3 id='impl-Extend%3CT%3E' class='impl'><code class='in-band'>impl<T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a><T> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-Extend%3CT%3E' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#504-516' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.extend' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend' class='fnname'>extend</a><I>(&mut self, iterable: I) <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = T>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#510-515' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend">Read more</a></p>
|
||||
</div></div><h3 id='impl-Extend%3CT%3E' class='impl'><code class='in-band'>impl<T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a><T> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-Extend%3CT%3E' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#542-554' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.extend' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend' class='fnname'>extend</a><I>(&mut self, iterable: I) <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = T>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#548-553' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend">Read more</a></p>
|
||||
</div><h4 id='method.extend_one' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one' class='fnname'>extend_one</a>(&mut self, item: A)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#340-342' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>extend_one</code>)</div></div><div class='docblock hidden'><p>Extends a collection with exactly one element.</p>
|
||||
</div><h4 id='method.extend_reserve' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve' class='fnname'>extend_reserve</a>(&mut self, additional: usize)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#348-350' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>extend_one</code>)</div></div><div class='docblock hidden'><p>Reserves capacity in a collection for the given number of additional elements. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve">Read more</a></p>
|
||||
</div></div><h3 id='impl-FromIterator%3CT%3E' class='impl'><code class='in-band'>impl<T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a><T> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-FromIterator%3CT%3E' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#532-546' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from_iter' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter' class='fnname'>from_iter</a><I>(iter: I) -> Self <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = T>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#538-545' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter">Read more</a></p>
|
||||
</div></div><h3 id='impl-IntoIterator' class='impl'><code class='in-band'>impl<'a, T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for &'a <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-IntoIterator' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#548-560' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Item' class="type"><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item' class="type">Item</a> = &'a T</code></h4><div class='docblock'><p>The type of the elements being iterated over.</p>
|
||||
</div></div><h3 id='impl-FromIterator%3CT%3E' class='impl'><code class='in-band'>impl<T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a><T> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-FromIterator%3CT%3E' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#570-584' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from_iter' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter' class='fnname'>from_iter</a><I>(iter: I) -> Self <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = T>, </span></code><a class='srclink' href='../src/heapless/indexset.rs.html#576-583' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter">Read more</a></p>
|
||||
</div></div><h3 id='impl-IntoIterator' class='impl'><code class='in-band'>impl<'a, T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for &'a <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-IntoIterator' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#586-598' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Item' class="type"><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item' class="type">Item</a> = &'a T</code></h4><div class='docblock'><p>The type of the elements being iterated over.</p>
|
||||
</div><h4 id='associatedtype.IntoIter' class="type"><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter' class="type">IntoIter</a> = Iter<'a, T></code></h4><div class='docblock'><p>Which kind of iterator are we turning this into?</p>
|
||||
</div><h4 id='method.into_iter' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter' class='fnname'>into_iter</a>(self) -> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></code><a class='srclink' href='../src/heapless/indexset.rs.html#557-559' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
|
||||
</div></div><h3 id='impl-PartialEq%3CIndexSet%3CT%2C%20N2%2C%20S2%3E%3E' class='impl'><code class='in-band'>impl<T, N1, N2, S1, S2> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2>> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N1, S1> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S1: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N1: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-PartialEq%3CIndexSet%3CT%2C%20N2%2C%20S2%3E%3E' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#491-502' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.eq' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&self, other: &<a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2>) -> bool</code><a class='srclink' href='../src/heapless/indexset.rs.html#499-501' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
|
||||
</div><h4 id='method.into_iter' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter' class='fnname'>into_iter</a>(self) -> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></code><a class='srclink' href='../src/heapless/indexset.rs.html#595-597' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
|
||||
</div></div><h3 id='impl-PartialEq%3CIndexSet%3CT%2C%20N2%2C%20S2%3E%3E' class='impl'><code class='in-band'>impl<T, N1, N2, S1, S2> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2>> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N1, S1> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../hash32/trait.Hash.html" title="trait hash32::Hash">Hash</a>,<br> S1: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> S2: <a class="trait" href="../hash32/trait.BuildHasher.html" title="trait hash32::BuildHasher">BuildHasher</a>,<br> N1: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>,<br> N2: <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>> + <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>, </span></code><a href='#impl-PartialEq%3CIndexSet%3CT%2C%20N2%2C%20S2%3E%3E' class='anchor'></a><a class='srclink' href='../src/heapless/indexset.rs.html#529-540' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.eq' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&self, other: &<a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N2, S2>) -> bool</code><a class='srclink' href='../src/heapless/indexset.rs.html#537-539' title='goto source code'>[src]</a></h4><div class='docblock hidden'><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 hidden"><code><span class="docblock attributes">#[must_use]</span>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&self, other: &Rhs) -> bool</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#209-211' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
|
||||
</div></div></div><h2 id='synthetic-implementations' class='small-section-header'>Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a></h2><div id='synthetic-implementations-list'><h3 id='impl-Send' class='impl'><code class='in-band'>impl<T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><code class='in-band'>impl<T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl<T, N, S> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, S> <span class="where fmt-newline">where<br> S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> <N as <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><Bucket<T, ()>>>::<a class="type" href="../heapless/trait.ArrayLength.html#associatedtype.ArrayType" title="type heapless::ArrayLength::ArrayType">ArrayType</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> <N as <a class="trait" href="../heapless/trait.ArrayLength.html" title="trait heapless::ArrayLength">ArrayLength</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pos>>>::<a class="type" href="../heapless/trait.ArrayLength.html#associatedtype.ArrayType" title="type heapless::ArrayLength::ArrayType">ArrayType</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div></div><h2 id='blanket-implementations' class='small-section-header'>Blanket Implementations<a href='#blanket-implementations' class='anchor'></a></h2><div id='blanket-implementations-list'><h3 id='impl-Any' class='impl'><code class='in-band'>impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#108-112' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id' class='fnname'>type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#109-111' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
|
||||
|
@ -1,5 +1,43 @@
|
||||
<!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 `FnvIndexMap` type in crate `heapless`."><meta name="keywords" content="rust, rustlang, rust-lang, FnvIndexMap"><title>heapless::FnvIndexMap - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../heapless/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Type Definition FnvIndexMap</p><div class="sidebar-elems"><p class='location'><a href='index.html'>heapless</a></p><script>window.sidebarCurrent = {name: 'FnvIndexMap', ty: 'type', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/heapless/indexmap.rs.html#16' title='goto source code'>[src]</a></span><span class='in-band'>Type Definition <a href='index.html'>heapless</a>::<wbr><a class="type" href=''>FnvIndexMap</a></span></h1><pre class='rust typedef'>type FnvIndexMap<K, V, N> = <a class="struct" href="../heapless/struct.IndexMap.html" title="struct heapless::IndexMap">IndexMap</a><K, V, N, <a class="struct" href="../hash32/struct.BuildHasherDefault.html" title="struct hash32::BuildHasherDefault">BuildHasherDefault</a><<a class="struct" href="../hash32/fnv/struct.Hasher.html" title="struct hash32::fnv::Hasher">FnvHasher</a>>>;</pre><div class='docblock'><p>An <code>IndexMap</code> using the default FNV hasher</p>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/heapless/indexmap.rs.html#57' title='goto source code'>[src]</a></span><span class='in-band'>Type Definition <a href='index.html'>heapless</a>::<wbr><a class="type" href=''>FnvIndexMap</a></span></h1><pre class='rust typedef'>type FnvIndexMap<K, V, N> = <a class="struct" href="../heapless/struct.IndexMap.html" title="struct heapless::IndexMap">IndexMap</a><K, V, N, <a class="struct" href="../hash32/struct.BuildHasherDefault.html" title="struct hash32::BuildHasherDefault">BuildHasherDefault</a><<a class="struct" href="../hash32/fnv/struct.Hasher.html" title="struct hash32::fnv::Hasher">FnvHasher</a>>>;</pre><div class='docblock'><p>A <a href="./struct.IndexMap.html"><code>heaples::IndexMap</code></a> using the default FNV hasher</p>
|
||||
<p>A list of all Methods and Traits available for <code>FnvIndexMap</code> can be found in
|
||||
the <a href="./struct.IndexMap.html"><code>heapless::IndexMap</code></a> documentation.</p>
|
||||
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">FnvIndexMap</span>;
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">consts</span>::<span class="kw-2">*</span>;
|
||||
|
||||
<span class="comment">// A hash map with a capacity of 16 key-value pairs allocated on the stack</span>
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">book_reviews</span> <span class="op">=</span> <span class="ident">FnvIndexMap</span>::<span class="op"><</span><span class="kw">_</span>, <span class="kw">_</span>, <span class="ident">U16</span><span class="op">></span>::<span class="ident">new</span>();
|
||||
|
||||
<span class="comment">// review some books.</span>
|
||||
<span class="ident">book_reviews</span>.<span class="ident">insert</span>(<span class="string">"Adventures of Huckleberry Finn"</span>, <span class="string">"My favorite book."</span>).<span class="ident">unwrap</span>();
|
||||
<span class="ident">book_reviews</span>.<span class="ident">insert</span>(<span class="string">"Grimms' Fairy Tales"</span>, <span class="string">"Masterpiece."</span>).<span class="ident">unwrap</span>();
|
||||
<span class="ident">book_reviews</span>.<span class="ident">insert</span>(<span class="string">"Pride and Prejudice"</span>, <span class="string">"Very enjoyable."</span>).<span class="ident">unwrap</span>();
|
||||
<span class="ident">book_reviews</span>.<span class="ident">insert</span>(<span class="string">"The Adventures of Sherlock Holmes"</span>, <span class="string">"Eye lyked it alot."</span>).<span class="ident">unwrap</span>();
|
||||
|
||||
<span class="comment">// check for a specific one.</span>
|
||||
<span class="kw">if</span> <span class="op">!</span><span class="ident">book_reviews</span>.<span class="ident">contains_key</span>(<span class="string">"Les Misérables"</span>) {
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"We've got {} reviews, but Les Misérables ain't one."</span>,
|
||||
<span class="ident">book_reviews</span>.<span class="ident">len</span>());
|
||||
}
|
||||
|
||||
<span class="comment">// oops, this review has a lot of spelling mistakes, let's delete it.</span>
|
||||
<span class="ident">book_reviews</span>.<span class="ident">remove</span>(<span class="string">"The Adventures of Sherlock Holmes"</span>);
|
||||
|
||||
<span class="comment">// look up the values associated with some keys.</span>
|
||||
<span class="kw">let</span> <span class="ident">to_find</span> <span class="op">=</span> [<span class="string">"Pride and Prejudice"</span>, <span class="string">"Alice's Adventure in Wonderland"</span>];
|
||||
<span class="kw">for</span> <span class="ident">book</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="ident">to_find</span> {
|
||||
<span class="kw">match</span> <span class="ident">book_reviews</span>.<span class="ident">get</span>(<span class="ident">book</span>) {
|
||||
<span class="prelude-val">Some</span>(<span class="ident">review</span>) <span class="op">=</span><span class="op">></span> <span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}: {}"</span>, <span class="ident">book</span>, <span class="ident">review</span>),
|
||||
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="macro">println</span><span class="macro">!</span>(<span class="string">"{} is unreviewed."</span>, <span class="ident">book</span>)
|
||||
}
|
||||
}
|
||||
|
||||
<span class="comment">// iterate over everything.</span>
|
||||
<span class="kw">for</span> (<span class="ident">book</span>, <span class="ident">review</span>) <span class="kw">in</span> <span class="kw-2">&</span><span class="ident">book_reviews</span> {
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}: \"{}\""</span>, <span class="ident">book</span>, <span class="ident">review</span>);
|
||||
}</pre></div>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "heapless";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
@ -1,5 +1,35 @@
|
||||
<!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 `FnvIndexSet` type in crate `heapless`."><meta name="keywords" content="rust, rustlang, rust-lang, FnvIndexSet"><title>heapless::FnvIndexSet - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../heapless/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Type Definition FnvIndexSet</p><div class="sidebar-elems"><p class='location'><a href='index.html'>heapless</a></p><script>window.sidebarCurrent = {name: 'FnvIndexSet', ty: 'type', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/heapless/indexset.rs.html#9' title='goto source code'>[src]</a></span><span class='in-band'>Type Definition <a href='index.html'>heapless</a>::<wbr><a class="type" href=''>FnvIndexSet</a></span></h1><pre class='rust typedef'>type FnvIndexSet<T, N> = <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, <a class="struct" href="../hash32/struct.BuildHasherDefault.html" title="struct hash32::BuildHasherDefault">BuildHasherDefault</a><<a class="struct" href="../hash32/fnv/struct.Hasher.html" title="struct hash32::fnv::Hasher">FnvHasher</a>>>;</pre><div class='docblock'><p>An <code>IndexSet</code> using the default FNV hasher</p>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../src/heapless/indexset.rs.html#41' title='goto source code'>[src]</a></span><span class='in-band'>Type Definition <a href='index.html'>heapless</a>::<wbr><a class="type" href=''>FnvIndexSet</a></span></h1><pre class='rust typedef'>type FnvIndexSet<T, N> = <a class="struct" href="../heapless/struct.IndexSet.html" title="struct heapless::IndexSet">IndexSet</a><T, N, <a class="struct" href="../hash32/struct.BuildHasherDefault.html" title="struct hash32::BuildHasherDefault">BuildHasherDefault</a><<a class="struct" href="../hash32/fnv/struct.Hasher.html" title="struct hash32::fnv::Hasher">FnvHasher</a>>>;</pre><div class='docblock'><p>A <a href="./struct.IndexSet.html"><code>heapless::IndexSet</code></a> using the
|
||||
default FNV hasher.
|
||||
A list of all Methods and Traits available for <code>FnvIndexSet</code> can be found in
|
||||
the <a href="./struct.IndexSet.html"><code>heapless::IndexSet</code></a> documentation.</p>
|
||||
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">FnvIndexSet</span>;
|
||||
<span class="kw">use</span> <span class="ident">heapless</span>::<span class="ident">consts</span>::<span class="kw-2">*</span>;
|
||||
|
||||
<span class="comment">// A hash set with a capacity of 16 elements allocated on the stack</span>
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">books</span> <span class="op">=</span> <span class="ident">FnvIndexSet</span>::<span class="op"><</span><span class="kw">_</span>, <span class="ident">U16</span><span class="op">></span>::<span class="ident">new</span>();
|
||||
|
||||
<span class="comment">// Add some books.</span>
|
||||
<span class="ident">books</span>.<span class="ident">insert</span>(<span class="string">"A Dance With Dragons"</span>).<span class="ident">unwrap</span>();
|
||||
<span class="ident">books</span>.<span class="ident">insert</span>(<span class="string">"To Kill a Mockingbird"</span>).<span class="ident">unwrap</span>();
|
||||
<span class="ident">books</span>.<span class="ident">insert</span>(<span class="string">"The Odyssey"</span>).<span class="ident">unwrap</span>();
|
||||
<span class="ident">books</span>.<span class="ident">insert</span>(<span class="string">"The Great Gatsby"</span>).<span class="ident">unwrap</span>();
|
||||
|
||||
<span class="comment">// Check for a specific one.</span>
|
||||
<span class="kw">if</span> <span class="op">!</span><span class="ident">books</span>.<span class="ident">contains</span>(<span class="string">"The Winds of Winter"</span>) {
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"We have {} books, but The Winds of Winter ain't one."</span>,
|
||||
<span class="ident">books</span>.<span class="ident">len</span>());
|
||||
}
|
||||
|
||||
<span class="comment">// Remove a book.</span>
|
||||
<span class="ident">books</span>.<span class="ident">remove</span>(<span class="string">"The Odyssey"</span>);
|
||||
|
||||
<span class="comment">// Iterate over everything.</span>
|
||||
<span class="kw">for</span> <span class="ident">book</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="ident">books</span> {
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">book</span>);
|
||||
}</pre></div>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "heapless";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
@ -1,4 +1,4 @@
|
||||
(function() {var implementors = {};
|
||||
implementors["generic_array"] = [{"text":"impl<T, N> AsMut<[T]> for GenericArray<T, N> <span class=\"where fmt-newline\">where<br> N: ArrayLength<T>, </span>","synthetic":false,"types":[]}];
|
||||
implementors["generic_array"] = [{"text":"impl<T, N> AsMut<[T]> for GenericArray<T, N> <span class=\"where fmt-newline\">where<br> N: ArrayLength<T>, </span>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 1]> for GenericArray<T, U1>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 2]> for GenericArray<T, U2>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 3]> for GenericArray<T, U3>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 4]> for GenericArray<T, U4>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 5]> for GenericArray<T, U5>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 6]> for GenericArray<T, U6>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 7]> for GenericArray<T, U7>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 8]> for GenericArray<T, U8>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 9]> for GenericArray<T, U9>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 10]> for GenericArray<T, U10>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 11]> for GenericArray<T, U11>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 12]> for GenericArray<T, U12>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 13]> for GenericArray<T, U13>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 14]> for GenericArray<T, U14>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 15]> for GenericArray<T, U15>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 16]> for GenericArray<T, U16>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 17]> for GenericArray<T, U17>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 18]> for GenericArray<T, U18>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 19]> for GenericArray<T, U19>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 20]> for GenericArray<T, U20>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 21]> for GenericArray<T, U21>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 22]> for GenericArray<T, U22>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 23]> for GenericArray<T, U23>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 24]> for GenericArray<T, U24>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 25]> for GenericArray<T, U25>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 26]> for GenericArray<T, U26>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 27]> for GenericArray<T, U27>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 28]> for GenericArray<T, U28>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 29]> for GenericArray<T, U29>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 30]> for GenericArray<T, U30>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 31]> for GenericArray<T, U31>","synthetic":false,"types":[]},{"text":"impl<T> AsMut<[T; 32]> for GenericArray<T, U32>","synthetic":false,"types":[]}];
|
||||
implementors["heapless"] = [{"text":"impl<T, N> AsMut<Vec<T, N>> for Vec<T, N> <span class=\"where fmt-newline\">where<br> N: ArrayLength<T>, </span>","synthetic":false,"types":[]},{"text":"impl<T, N> AsMut<[T]> for Vec<T, N> <span class=\"where fmt-newline\">where<br> N: ArrayLength<T>, </span>","synthetic":false,"types":[]}];
|
||||
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
@ -1,4 +1,4 @@
|
||||
(function() {var implementors = {};
|
||||
implementors["generic_array"] = [{"text":"impl<T, N> AsRef<[T]> for GenericArray<T, N> <span class=\"where fmt-newline\">where<br> N: ArrayLength<T>, </span>","synthetic":false,"types":[]}];
|
||||
implementors["generic_array"] = [{"text":"impl<T, N> AsRef<[T]> for GenericArray<T, N> <span class=\"where fmt-newline\">where<br> N: ArrayLength<T>, </span>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 1]> for GenericArray<T, U1>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 2]> for GenericArray<T, U2>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 3]> for GenericArray<T, U3>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 4]> for GenericArray<T, U4>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 5]> for GenericArray<T, U5>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 6]> for GenericArray<T, U6>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 7]> for GenericArray<T, U7>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 8]> for GenericArray<T, U8>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 9]> for GenericArray<T, U9>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 10]> for GenericArray<T, U10>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 11]> for GenericArray<T, U11>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 12]> for GenericArray<T, U12>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 13]> for GenericArray<T, U13>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 14]> for GenericArray<T, U14>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 15]> for GenericArray<T, U15>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 16]> for GenericArray<T, U16>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 17]> for GenericArray<T, U17>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 18]> for GenericArray<T, U18>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 19]> for GenericArray<T, U19>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 20]> for GenericArray<T, U20>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 21]> for GenericArray<T, U21>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 22]> for GenericArray<T, U22>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 23]> for GenericArray<T, U23>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 24]> for GenericArray<T, U24>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 25]> for GenericArray<T, U25>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 26]> for GenericArray<T, U26>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 27]> for GenericArray<T, U27>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 28]> for GenericArray<T, U28>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 29]> for GenericArray<T, U29>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 30]> for GenericArray<T, U30>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 31]> for GenericArray<T, U31>","synthetic":false,"types":[]},{"text":"impl<T> AsRef<[T; 32]> for GenericArray<T, U32>","synthetic":false,"types":[]}];
|
||||
implementors["heapless"] = [{"text":"impl<N> AsRef<str> for String<N> <span class=\"where fmt-newline\">where<br> N: ArrayLength<u8>, </span>","synthetic":false,"types":[]},{"text":"impl<N> AsRef<[u8]> for String<N> <span class=\"where fmt-newline\">where<br> N: ArrayLength<u8>, </span>","synthetic":false,"types":[]},{"text":"impl<T, N> AsRef<Vec<T, N>> for Vec<T, N> <span class=\"where fmt-newline\">where<br> N: ArrayLength<T>, </span>","synthetic":false,"types":[]},{"text":"impl<T, N> AsRef<[T]> for Vec<T, N> <span class=\"where fmt-newline\">where<br> N: ArrayLength<T>, </span>","synthetic":false,"types":[]}];
|
||||
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,63 +1,131 @@
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.12.3/src/arr.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>arr.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.14.4/src/arr.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>arr.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
<span id="2"> 2</span>
|
||||
<span id="3"> 3</span>
|
||||
<span id="4"> 4</span>
|
||||
<span id="5"> 5</span>
|
||||
<span id="6"> 6</span>
|
||||
<span id="7"> 7</span>
|
||||
<span id="8"> 8</span>
|
||||
<span id="9"> 9</span>
|
||||
<span id="10">10</span>
|
||||
<span id="11">11</span>
|
||||
<span id="12">12</span>
|
||||
<span id="13">13</span>
|
||||
<span id="14">14</span>
|
||||
<span id="15">15</span>
|
||||
<span id="16">16</span>
|
||||
<span id="17">17</span>
|
||||
<span id="18">18</span>
|
||||
<span id="19">19</span>
|
||||
<span id="20">20</span>
|
||||
<span id="21">21</span>
|
||||
<span id="22">22</span>
|
||||
<span id="23">23</span>
|
||||
<span id="24">24</span>
|
||||
<span id="25">25</span>
|
||||
<span id="26">26</span>
|
||||
<span id="27">27</span>
|
||||
<span id="28">28</span>
|
||||
<span id="29">29</span>
|
||||
<span id="30">30</span>
|
||||
<span id="31">31</span>
|
||||
<span id="32">32</span>
|
||||
<span id="33">33</span>
|
||||
<span id="34">34</span>
|
||||
<span id="35">35</span>
|
||||
<span id="36">36</span>
|
||||
<span id="37">37</span>
|
||||
<span id="38">38</span>
|
||||
<span id="39">39</span>
|
||||
<span id="40">40</span>
|
||||
<span id="41">41</span>
|
||||
<span id="42">42</span>
|
||||
<span id="43">43</span>
|
||||
<span id="44">44</span>
|
||||
<span id="45">45</span>
|
||||
<span id="46">46</span>
|
||||
<span id="47">47</span>
|
||||
<span id="48">48</span>
|
||||
<span id="49">49</span>
|
||||
<span id="50">50</span>
|
||||
<span id="51">51</span>
|
||||
<span id="52">52</span>
|
||||
<span id="53">53</span>
|
||||
<span id="54">54</span>
|
||||
<span id="55">55</span>
|
||||
<span id="56">56</span>
|
||||
<span id="57">57</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
<span id="2"> 2</span>
|
||||
<span id="3"> 3</span>
|
||||
<span id="4"> 4</span>
|
||||
<span id="5"> 5</span>
|
||||
<span id="6"> 6</span>
|
||||
<span id="7"> 7</span>
|
||||
<span id="8"> 8</span>
|
||||
<span id="9"> 9</span>
|
||||
<span id="10"> 10</span>
|
||||
<span id="11"> 11</span>
|
||||
<span id="12"> 12</span>
|
||||
<span id="13"> 13</span>
|
||||
<span id="14"> 14</span>
|
||||
<span id="15"> 15</span>
|
||||
<span id="16"> 16</span>
|
||||
<span id="17"> 17</span>
|
||||
<span id="18"> 18</span>
|
||||
<span id="19"> 19</span>
|
||||
<span id="20"> 20</span>
|
||||
<span id="21"> 21</span>
|
||||
<span id="22"> 22</span>
|
||||
<span id="23"> 23</span>
|
||||
<span id="24"> 24</span>
|
||||
<span id="25"> 25</span>
|
||||
<span id="26"> 26</span>
|
||||
<span id="27"> 27</span>
|
||||
<span id="28"> 28</span>
|
||||
<span id="29"> 29</span>
|
||||
<span id="30"> 30</span>
|
||||
<span id="31"> 31</span>
|
||||
<span id="32"> 32</span>
|
||||
<span id="33"> 33</span>
|
||||
<span id="34"> 34</span>
|
||||
<span id="35"> 35</span>
|
||||
<span id="36"> 36</span>
|
||||
<span id="37"> 37</span>
|
||||
<span id="38"> 38</span>
|
||||
<span id="39"> 39</span>
|
||||
<span id="40"> 40</span>
|
||||
<span id="41"> 41</span>
|
||||
<span id="42"> 42</span>
|
||||
<span id="43"> 43</span>
|
||||
<span id="44"> 44</span>
|
||||
<span id="45"> 45</span>
|
||||
<span id="46"> 46</span>
|
||||
<span id="47"> 47</span>
|
||||
<span id="48"> 48</span>
|
||||
<span id="49"> 49</span>
|
||||
<span id="50"> 50</span>
|
||||
<span id="51"> 51</span>
|
||||
<span id="52"> 52</span>
|
||||
<span id="53"> 53</span>
|
||||
<span id="54"> 54</span>
|
||||
<span id="55"> 55</span>
|
||||
<span id="56"> 56</span>
|
||||
<span id="57"> 57</span>
|
||||
<span id="58"> 58</span>
|
||||
<span id="59"> 59</span>
|
||||
<span id="60"> 60</span>
|
||||
<span id="61"> 61</span>
|
||||
<span id="62"> 62</span>
|
||||
<span id="63"> 63</span>
|
||||
<span id="64"> 64</span>
|
||||
<span id="65"> 65</span>
|
||||
<span id="66"> 66</span>
|
||||
<span id="67"> 67</span>
|
||||
<span id="68"> 68</span>
|
||||
<span id="69"> 69</span>
|
||||
<span id="70"> 70</span>
|
||||
<span id="71"> 71</span>
|
||||
<span id="72"> 72</span>
|
||||
<span id="73"> 73</span>
|
||||
<span id="74"> 74</span>
|
||||
<span id="75"> 75</span>
|
||||
<span id="76"> 76</span>
|
||||
<span id="77"> 77</span>
|
||||
<span id="78"> 78</span>
|
||||
<span id="79"> 79</span>
|
||||
<span id="80"> 80</span>
|
||||
<span id="81"> 81</span>
|
||||
<span id="82"> 82</span>
|
||||
<span id="83"> 83</span>
|
||||
<span id="84"> 84</span>
|
||||
<span id="85"> 85</span>
|
||||
<span id="86"> 86</span>
|
||||
<span id="87"> 87</span>
|
||||
<span id="88"> 88</span>
|
||||
<span id="89"> 89</span>
|
||||
<span id="90"> 90</span>
|
||||
<span id="91"> 91</span>
|
||||
<span id="92"> 92</span>
|
||||
<span id="93"> 93</span>
|
||||
<span id="94"> 94</span>
|
||||
<span id="95"> 95</span>
|
||||
<span id="96"> 96</span>
|
||||
<span id="97"> 97</span>
|
||||
<span id="98"> 98</span>
|
||||
<span id="99"> 99</span>
|
||||
<span id="100">100</span>
|
||||
<span id="101">101</span>
|
||||
<span id="102">102</span>
|
||||
<span id="103">103</span>
|
||||
<span id="104">104</span>
|
||||
<span id="105">105</span>
|
||||
<span id="106">106</span>
|
||||
<span id="107">107</span>
|
||||
<span id="108">108</span>
|
||||
<span id="109">109</span>
|
||||
<span id="110">110</span>
|
||||
<span id="111">111</span>
|
||||
<span id="112">112</span>
|
||||
<span id="113">113</span>
|
||||
<span id="114">114</span>
|
||||
<span id="115">115</span>
|
||||
<span id="116">116</span>
|
||||
<span id="117">117</span>
|
||||
<span id="118">118</span>
|
||||
<span id="119">119</span>
|
||||
<span id="120">120</span>
|
||||
<span id="121">121</span>
|
||||
<span id="122">122</span>
|
||||
<span id="123">123</span>
|
||||
<span id="124">124</span>
|
||||
<span id="125">125</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="doccomment">//! Implementation for `arr!` macro.</span>
|
||||
|
||||
@ -86,20 +154,30 @@
|
||||
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
|
||||
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
|
||||
<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">arr_impl</span> {
|
||||
(@<span class="ident">replace_expr</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">e</span>:<span class="ident">expr</span>) <span class="op">=</span><span class="op">></span> { <span class="number">1</span> };
|
||||
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>:<span class="ident">ty</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span>:<span class="ident">ty</span>, [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>:<span class="ident">expr</span>),<span class="kw-2">*</span>], []) <span class="op">=</span><span class="op">></span> ({
|
||||
<span class="kw">unsafe</span> { <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">transmute</span>::<span class="op"><</span><span class="kw">_</span>, <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">GenericArray</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span><span class="op">></span><span class="op">></span>([$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>),<span class="kw-2">*</span>]) }
|
||||
<span class="kw">const</span> <span class="ident">__ARR_LENGTH</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="number">0</span> $(<span class="op">+</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">arr_impl</span><span class="macro">!</span>(@<span class="macro-nonterminal">replace_expr</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>) )<span class="kw-2">*</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">inline</span>(<span class="ident">always</span>)]</span>
|
||||
<span class="kw">fn</span> <span class="ident">__do_transmute</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span>: <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span>(<span class="ident">arr</span>: [<span class="ident">T</span>; <span class="ident">__ARR_LENGTH</span>]) <span class="op">-</span><span class="op">></span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> {
|
||||
<span class="kw">unsafe</span> { <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">transmute</span>(<span class="ident">arr</span>) }
|
||||
}
|
||||
|
||||
<span class="kw">let</span> <span class="kw">_</span>: [(); <span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span> <span class="kw">as</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">typenum</span>::<span class="ident">Unsigned</span><span class="op">></span>::<span class="ident">USIZE</span>] <span class="op">=</span> [(); <span class="ident">__ARR_LENGTH</span>];
|
||||
|
||||
<span class="ident">__do_transmute</span>::<span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span><span class="op">></span>([$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span> <span class="kw">as</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>),<span class="kw-2">*</span>])
|
||||
});
|
||||
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>:<span class="ident">ty</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span>:<span class="ident">ty</span>, [], [<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span>:<span class="ident">expr</span>]) <span class="op">=</span><span class="op">></span> (
|
||||
<span class="macro">arr_impl</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">arr</span>::<span class="ident">Inc</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span><span class="op">></span>, [<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span> <span class="kw">as</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>], [])
|
||||
<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">arr_impl</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">arr</span>::<span class="ident">Inc</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span><span class="op">></span>, [<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span>], [])
|
||||
);
|
||||
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>:<span class="ident">ty</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span>:<span class="ident">ty</span>, [], [<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span>:<span class="ident">expr</span>, $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>:<span class="ident">expr</span>),<span class="op">+</span>]) <span class="op">=</span><span class="op">></span> (
|
||||
<span class="macro">arr_impl</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">arr</span>::<span class="ident">Inc</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span><span class="op">></span>, [<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span> <span class="kw">as</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>], [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>),<span class="op">+</span>])
|
||||
<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">arr_impl</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">arr</span>::<span class="ident">Inc</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span><span class="op">></span>, [<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span>], [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>),<span class="op">+</span>])
|
||||
);
|
||||
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>:<span class="ident">ty</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span>:<span class="ident">ty</span>, [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">y</span>:<span class="ident">expr</span>),<span class="op">+</span>], [<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span>:<span class="ident">expr</span>]) <span class="op">=</span><span class="op">></span> (
|
||||
<span class="macro">arr_impl</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">arr</span>::<span class="ident">Inc</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span><span class="op">></span>, [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">y</span>),<span class="op">+</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span> <span class="kw">as</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>], [])
|
||||
<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">arr_impl</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">arr</span>::<span class="ident">Inc</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span><span class="op">></span>, [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">y</span>),<span class="op">+</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span>], [])
|
||||
);
|
||||
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>:<span class="ident">ty</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span>:<span class="ident">ty</span>, [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">y</span>:<span class="ident">expr</span>),<span class="op">+</span>], [<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span>:<span class="ident">expr</span>, $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>:<span class="ident">expr</span>),<span class="op">+</span>]) <span class="op">=</span><span class="op">></span> (
|
||||
<span class="macro">arr_impl</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">arr</span>::<span class="ident">Inc</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span><span class="op">></span>, [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">y</span>),<span class="op">+</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span> <span class="kw">as</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>], [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>),<span class="op">+</span>])
|
||||
<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">arr_impl</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">arr</span>::<span class="ident">Inc</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">N</span><span class="op">></span>, [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">y</span>),<span class="op">+</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">x1</span>], [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>),<span class="op">+</span>])
|
||||
);
|
||||
}
|
||||
|
||||
@ -111,10 +189,68 @@
|
||||
<span class="kw">unsafe</span> { <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">transmute</span>::<span class="op"><</span>[<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="number">0</span>], <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">GenericArray</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>, <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">typenum</span>::<span class="ident">U0</span><span class="op">></span><span class="op">></span>([]) }
|
||||
});
|
||||
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>:<span class="ident">ty</span>; $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>:<span class="ident">expr</span>),<span class="op">*</span> $(,)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">></span> (
|
||||
<span class="macro">arr_impl</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">typenum</span>::<span class="ident">U0</span>, [], [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>),<span class="kw-2">*</span>])
|
||||
<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">arr_impl</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">T</span>; <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">typenum</span>::<span class="ident">U0</span>, [], [$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>),<span class="kw-2">*</span>])
|
||||
);
|
||||
($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>:<span class="ident">expr</span>,)<span class="op">+</span>) <span class="op">=</span><span class="op">></span> (<span class="macro">arr</span><span class="macro">!</span>[$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>),<span class="kw-2">*</span>]);
|
||||
($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>:<span class="ident">expr</span>,)<span class="op">+</span>) <span class="op">=</span><span class="op">></span> (<span class="macro">arr</span><span class="macro">!</span>[$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>),<span class="op">+</span>]);
|
||||
() <span class="op">=</span><span class="op">></span> (<span class="string">""</span><span class="string">"Macro requires a type, e.g. `let array = arr![u32; 1, 2, 3];`"</span>)
|
||||
}
|
||||
|
||||
<span class="kw">mod</span> <span class="ident">doctests_only</span> {
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// # With ellision</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// Testing that lifetimes aren't transmuted when they're ellided.</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// ```compile_fail</span>
|
||||
<span class="doccomment">/// #[macro_use] extern crate generic_array;</span>
|
||||
<span class="doccomment">/// fn main() {</span>
|
||||
<span class="doccomment">/// fn unsound_lifetime_extension<'a, A>(a: &'a A) -> &'static A {</span>
|
||||
<span class="doccomment">/// arr![&A; a][0]</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// ```rust</span>
|
||||
<span class="doccomment">/// #[macro_use] extern crate generic_array;</span>
|
||||
<span class="doccomment">/// fn main() {</span>
|
||||
<span class="doccomment">/// fn unsound_lifetime_extension<'a, A>(a: &'a A) -> &'a A {</span>
|
||||
<span class="doccomment">/// arr![&A; a][0]</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// # Without ellision</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// Testing that lifetimes aren't transmuted when they're specified explicitly.</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// ```compile_fail</span>
|
||||
<span class="doccomment">/// #[macro_use] extern crate generic_array;</span>
|
||||
<span class="doccomment">/// fn main() {</span>
|
||||
<span class="doccomment">/// fn unsound_lifetime_extension<'a, A>(a: &'a A) -> &'static A {</span>
|
||||
<span class="doccomment">/// arr![&'a A; a][0]</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// ```compile_fail</span>
|
||||
<span class="doccomment">/// #[macro_use] extern crate generic_array;</span>
|
||||
<span class="doccomment">/// fn main() {</span>
|
||||
<span class="doccomment">/// fn unsound_lifetime_extension<'a, A>(a: &'a A) -> &'static A {</span>
|
||||
<span class="doccomment">/// arr![&'static A; a][0]</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// ```rust</span>
|
||||
<span class="doccomment">/// #[macro_use] extern crate generic_array;</span>
|
||||
<span class="doccomment">/// fn main() {</span>
|
||||
<span class="doccomment">/// fn unsound_lifetime_extension<'a, A>(a: &'a A) -> &'a A {</span>
|
||||
<span class="doccomment">/// arr![&'a A; a][0]</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">dead_code</span>)]</span>
|
||||
<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">DocTests</span> {}
|
||||
}
|
||||
</pre></div>
|
||||
</section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script src="../../source-script.js"></script><script src="../../source-files.js"></script><script defer src="../../search-index.js"></script></body></html>
|
@ -1,4 +1,4 @@
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.12.3/src/functional.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>functional.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.14.4/src/functional.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>functional.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
@ -95,6 +95,7 @@
|
||||
<span id="92">92</span>
|
||||
<span id="93">93</span>
|
||||
<span id="94">94</span>
|
||||
<span id="95">95</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="doccomment">//! Functional programming with generic sequences</span>
|
||||
<span class="doccomment">//!</span>
|
||||
@ -102,7 +103,8 @@
|
||||
|
||||
<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">ArrayLength</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">iter</span>::<span class="ident">FromIterator</span>;
|
||||
<span class="kw">use</span> <span class="ident">sequence</span>::<span class="kw-2">*</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">sequence</span>::<span class="kw-2">*</span>;
|
||||
|
||||
<span class="doccomment">/// Defines the relationship between one generic sequence and another,</span>
|
||||
<span class="doccomment">/// for operations such as `map` and `zip`.</span>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.12.3/src/hex.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>hex.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.14.4/src/hex.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>hex.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
@ -103,6 +103,9 @@
|
||||
<span id="100">100</span>
|
||||
<span id="101">101</span>
|
||||
<span id="102">102</span>
|
||||
<span id="103">103</span>
|
||||
<span id="104">104</span>
|
||||
<span id="105">105</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="doccomment">//! Generic array are commonly used as a return value for hash digests, so</span>
|
||||
<span class="doccomment">//! it's a good idea to allow to hexlify them easily. This module implements</span>
|
||||
@ -121,13 +124,12 @@
|
||||
<span class="doccomment">//! ```</span>
|
||||
<span class="doccomment">//!</span>
|
||||
|
||||
<span class="kw">use</span> {<span class="ident">ArrayLength</span>, <span class="ident">GenericArray</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">cmp</span>::<span class="ident">min</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">fmt</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">ops</span>::<span class="ident">Add</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">str</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::{<span class="ident">fmt</span>, <span class="ident">str</span>, <span class="ident">ops</span>::<span class="ident">Add</span>, <span class="ident">cmp</span>::<span class="ident">min</span>};
|
||||
|
||||
<span class="kw">use</span> <span class="ident">typenum</span>::<span class="kw-2">*</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">ArrayLength</span>, <span class="ident">GenericArray</span>};
|
||||
|
||||
<span class="kw">static</span> <span class="ident">LOWER_CHARS</span>: <span class="kw-2">&</span><span class="lifetime">'static</span> [<span class="ident">u8</span>] <span class="op">=</span> <span class="string">b"0123456789abcdef"</span>;
|
||||
<span class="kw">static</span> <span class="ident">UPPER_CHARS</span>: <span class="kw-2">&</span><span class="lifetime">'static</span> [<span class="ident">u8</span>] <span class="op">=</span> <span class="string">b"0123456789ABCDEF"</span>;
|
||||
|
||||
@ -136,19 +138,20 @@
|
||||
<span class="ident">T</span>: <span class="ident">Add</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>,
|
||||
<span class="op"><</span><span class="ident">T</span> <span class="kw">as</span> <span class="ident">Add</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span>::<span class="ident">Output</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>,
|
||||
{
|
||||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||||
<span class="kw">let</span> <span class="ident">max_digits</span> <span class="op">=</span> <span class="ident">f</span>.<span class="ident">precision</span>().<span class="ident">unwrap_or_else</span>(<span class="op">|</span><span class="op">|</span> <span class="self">self</span>.<span class="ident">len</span>() <span class="op">*</span> <span class="number">2</span>);
|
||||
<span class="kw">let</span> <span class="ident">max_hex</span> <span class="op">=</span> (<span class="ident">max_digits</span> <span class="op">></span><span class="op">></span> <span class="number">1</span>) <span class="op">+</span> (<span class="ident">max_digits</span> <span class="op">&</span> <span class="number">1</span>);
|
||||
|
||||
<span class="kw">if</span> <span class="ident">T</span>::<span class="ident">to_usize</span>() <span class="op"><</span> <span class="number">1024</span> {
|
||||
<span class="kw">if</span> <span class="ident">T</span>::<span class="ident">USIZE</span> <span class="op"><</span> <span class="number">1024</span> {
|
||||
<span class="comment">// For small arrays use a stack allocated</span>
|
||||
<span class="comment">// buffer of 2x number of bytes</span>
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">res</span> <span class="op">=</span> <span class="ident">GenericArray</span>::<span class="op"><</span><span class="ident">u8</span>, <span class="ident">Sum</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">T</span><span class="op">></span><span class="op">></span>::<span class="ident">default</span>();
|
||||
|
||||
<span class="kw">for</span> (<span class="ident">i</span>, <span class="ident">c</span>) <span class="kw">in</span> <span class="self">self</span>.<span class="ident">iter</span>().<span class="ident">take</span>(<span class="ident">max_hex</span>).<span class="ident">enumerate</span>() {
|
||||
<span class="self">self</span>.<span class="ident">iter</span>().<span class="ident">take</span>(<span class="ident">max_hex</span>).<span class="ident">enumerate</span>().<span class="ident">for_each</span>(<span class="op">|</span>(<span class="ident">i</span>, <span class="ident">c</span>)<span class="op">|</span> {
|
||||
<span class="ident">res</span>[<span class="ident">i</span> <span class="op">*</span> <span class="number">2</span>] <span class="op">=</span> <span class="ident">LOWER_CHARS</span>[(<span class="ident">c</span> <span class="op">></span><span class="op">></span> <span class="number">4</span>) <span class="kw">as</span> <span class="ident">usize</span>];
|
||||
<span class="ident">res</span>[<span class="ident">i</span> <span class="op">*</span> <span class="number">2</span> <span class="op">+</span> <span class="number">1</span>] <span class="op">=</span> <span class="ident">LOWER_CHARS</span>[(<span class="ident">c</span> <span class="op">&</span> <span class="number">0xF</span>) <span class="kw">as</span> <span class="ident">usize</span>];
|
||||
}
|
||||
});
|
||||
|
||||
<span class="ident">f</span>.<span class="ident">write_str</span>(<span class="kw">unsafe</span> { <span class="ident">str</span>::<span class="ident">from_utf8_unchecked</span>(<span class="kw-2">&</span><span class="ident">res</span>[..<span class="ident">max_digits</span>]) })<span class="question-mark">?</span>;
|
||||
} <span class="kw">else</span> {
|
||||
<span class="comment">// For large array use chunks of up to 1024 bytes (2048 hex chars)</span>
|
||||
@ -156,10 +159,11 @@
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">digits_left</span> <span class="op">=</span> <span class="ident">max_digits</span>;
|
||||
|
||||
<span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="self">self</span>[..<span class="ident">max_hex</span>].<span class="ident">chunks</span>(<span class="number">1024</span>) {
|
||||
<span class="kw">for</span> (<span class="ident">i</span>, <span class="ident">c</span>) <span class="kw">in</span> <span class="ident">chunk</span>.<span class="ident">iter</span>().<span class="ident">enumerate</span>() {
|
||||
<span class="ident">chunk</span>.<span class="ident">iter</span>().<span class="ident">enumerate</span>().<span class="ident">for_each</span>(<span class="op">|</span>(<span class="ident">i</span>, <span class="ident">c</span>)<span class="op">|</span> {
|
||||
<span class="ident">buf</span>[<span class="ident">i</span> <span class="op">*</span> <span class="number">2</span>] <span class="op">=</span> <span class="ident">LOWER_CHARS</span>[(<span class="ident">c</span> <span class="op">></span><span class="op">></span> <span class="number">4</span>) <span class="kw">as</span> <span class="ident">usize</span>];
|
||||
<span class="ident">buf</span>[<span class="ident">i</span> <span class="op">*</span> <span class="number">2</span> <span class="op">+</span> <span class="number">1</span>] <span class="op">=</span> <span class="ident">LOWER_CHARS</span>[(<span class="ident">c</span> <span class="op">&</span> <span class="number">0xF</span>) <span class="kw">as</span> <span class="ident">usize</span>];
|
||||
}
|
||||
});
|
||||
|
||||
<span class="kw">let</span> <span class="ident">n</span> <span class="op">=</span> <span class="ident">min</span>(<span class="ident">chunk</span>.<span class="ident">len</span>() <span class="op">*</span> <span class="number">2</span>, <span class="ident">digits_left</span>);
|
||||
<span class="ident">f</span>.<span class="ident">write_str</span>(<span class="kw">unsafe</span> { <span class="ident">str</span>::<span class="ident">from_utf8_unchecked</span>(<span class="kw-2">&</span><span class="ident">buf</span>[..<span class="ident">n</span>]) })<span class="question-mark">?</span>;
|
||||
<span class="ident">digits_left</span> <span class="op">-</span><span class="op">=</span> <span class="ident">n</span>;
|
||||
@ -174,19 +178,20 @@
|
||||
<span class="ident">T</span>: <span class="ident">Add</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>,
|
||||
<span class="op"><</span><span class="ident">T</span> <span class="kw">as</span> <span class="ident">Add</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span>::<span class="ident">Output</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>,
|
||||
{
|
||||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||||
<span class="kw">let</span> <span class="ident">max_digits</span> <span class="op">=</span> <span class="ident">f</span>.<span class="ident">precision</span>().<span class="ident">unwrap_or_else</span>(<span class="op">|</span><span class="op">|</span> <span class="self">self</span>.<span class="ident">len</span>() <span class="op">*</span> <span class="number">2</span>);
|
||||
<span class="kw">let</span> <span class="ident">max_hex</span> <span class="op">=</span> (<span class="ident">max_digits</span> <span class="op">></span><span class="op">></span> <span class="number">1</span>) <span class="op">+</span> (<span class="ident">max_digits</span> <span class="op">&</span> <span class="number">1</span>);
|
||||
|
||||
<span class="kw">if</span> <span class="ident">T</span>::<span class="ident">to_usize</span>() <span class="op"><</span> <span class="number">1024</span> {
|
||||
<span class="kw">if</span> <span class="ident">T</span>::<span class="ident">USIZE</span> <span class="op"><</span> <span class="number">1024</span> {
|
||||
<span class="comment">// For small arrays use a stack allocated</span>
|
||||
<span class="comment">// buffer of 2x number of bytes</span>
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">res</span> <span class="op">=</span> <span class="ident">GenericArray</span>::<span class="op"><</span><span class="ident">u8</span>, <span class="ident">Sum</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">T</span><span class="op">></span><span class="op">></span>::<span class="ident">default</span>();
|
||||
|
||||
<span class="kw">for</span> (<span class="ident">i</span>, <span class="ident">c</span>) <span class="kw">in</span> <span class="self">self</span>.<span class="ident">iter</span>().<span class="ident">take</span>(<span class="ident">max_hex</span>).<span class="ident">enumerate</span>() {
|
||||
<span class="self">self</span>.<span class="ident">iter</span>().<span class="ident">take</span>(<span class="ident">max_hex</span>).<span class="ident">enumerate</span>().<span class="ident">for_each</span>(<span class="op">|</span>(<span class="ident">i</span>, <span class="ident">c</span>)<span class="op">|</span> {
|
||||
<span class="ident">res</span>[<span class="ident">i</span> <span class="op">*</span> <span class="number">2</span>] <span class="op">=</span> <span class="ident">UPPER_CHARS</span>[(<span class="ident">c</span> <span class="op">></span><span class="op">></span> <span class="number">4</span>) <span class="kw">as</span> <span class="ident">usize</span>];
|
||||
<span class="ident">res</span>[<span class="ident">i</span> <span class="op">*</span> <span class="number">2</span> <span class="op">+</span> <span class="number">1</span>] <span class="op">=</span> <span class="ident">UPPER_CHARS</span>[(<span class="ident">c</span> <span class="op">&</span> <span class="number">0xF</span>) <span class="kw">as</span> <span class="ident">usize</span>];
|
||||
}
|
||||
});
|
||||
|
||||
<span class="ident">f</span>.<span class="ident">write_str</span>(<span class="kw">unsafe</span> { <span class="ident">str</span>::<span class="ident">from_utf8_unchecked</span>(<span class="kw-2">&</span><span class="ident">res</span>[..<span class="ident">max_digits</span>]) })<span class="question-mark">?</span>;
|
||||
} <span class="kw">else</span> {
|
||||
<span class="comment">// For large array use chunks of up to 1024 bytes (2048 hex chars)</span>
|
||||
@ -194,10 +199,11 @@
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">digits_left</span> <span class="op">=</span> <span class="ident">max_digits</span>;
|
||||
|
||||
<span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="self">self</span>[..<span class="ident">max_hex</span>].<span class="ident">chunks</span>(<span class="number">1024</span>) {
|
||||
<span class="kw">for</span> (<span class="ident">i</span>, <span class="ident">c</span>) <span class="kw">in</span> <span class="ident">chunk</span>.<span class="ident">iter</span>().<span class="ident">enumerate</span>() {
|
||||
<span class="ident">chunk</span>.<span class="ident">iter</span>().<span class="ident">enumerate</span>().<span class="ident">for_each</span>(<span class="op">|</span>(<span class="ident">i</span>, <span class="ident">c</span>)<span class="op">|</span> {
|
||||
<span class="ident">buf</span>[<span class="ident">i</span> <span class="op">*</span> <span class="number">2</span>] <span class="op">=</span> <span class="ident">UPPER_CHARS</span>[(<span class="ident">c</span> <span class="op">></span><span class="op">></span> <span class="number">4</span>) <span class="kw">as</span> <span class="ident">usize</span>];
|
||||
<span class="ident">buf</span>[<span class="ident">i</span> <span class="op">*</span> <span class="number">2</span> <span class="op">+</span> <span class="number">1</span>] <span class="op">=</span> <span class="ident">UPPER_CHARS</span>[(<span class="ident">c</span> <span class="op">&</span> <span class="number">0xF</span>) <span class="kw">as</span> <span class="ident">usize</span>];
|
||||
}
|
||||
});
|
||||
|
||||
<span class="kw">let</span> <span class="ident">n</span> <span class="op">=</span> <span class="ident">min</span>(<span class="ident">chunk</span>.<span class="ident">len</span>() <span class="op">*</span> <span class="number">2</span>, <span class="ident">digits_left</span>);
|
||||
<span class="ident">f</span>.<span class="ident">write_str</span>(<span class="kw">unsafe</span> { <span class="ident">str</span>::<span class="ident">from_utf8_unchecked</span>(<span class="kw-2">&</span><span class="ident">buf</span>[..<span class="ident">n</span>]) })<span class="question-mark">?</span>;
|
||||
<span class="ident">digits_left</span> <span class="op">-</span><span class="op">=</span> <span class="ident">n</span>;
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.12.3/src/impls.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>impls.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.14.4/src/impls.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>impls.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
@ -183,20 +183,109 @@
|
||||
<span id="180">180</span>
|
||||
<span id="181">181</span>
|
||||
<span id="182">182</span>
|
||||
<span id="183">183</span>
|
||||
<span id="184">184</span>
|
||||
<span id="185">185</span>
|
||||
<span id="186">186</span>
|
||||
<span id="187">187</span>
|
||||
<span id="188">188</span>
|
||||
<span id="189">189</span>
|
||||
<span id="190">190</span>
|
||||
<span id="191">191</span>
|
||||
<span id="192">192</span>
|
||||
<span id="193">193</span>
|
||||
<span id="194">194</span>
|
||||
<span id="195">195</span>
|
||||
<span id="196">196</span>
|
||||
<span id="197">197</span>
|
||||
<span id="198">198</span>
|
||||
<span id="199">199</span>
|
||||
<span id="200">200</span>
|
||||
<span id="201">201</span>
|
||||
<span id="202">202</span>
|
||||
<span id="203">203</span>
|
||||
<span id="204">204</span>
|
||||
<span id="205">205</span>
|
||||
<span id="206">206</span>
|
||||
<span id="207">207</span>
|
||||
<span id="208">208</span>
|
||||
<span id="209">209</span>
|
||||
<span id="210">210</span>
|
||||
<span id="211">211</span>
|
||||
<span id="212">212</span>
|
||||
<span id="213">213</span>
|
||||
<span id="214">214</span>
|
||||
<span id="215">215</span>
|
||||
<span id="216">216</span>
|
||||
<span id="217">217</span>
|
||||
<span id="218">218</span>
|
||||
<span id="219">219</span>
|
||||
<span id="220">220</span>
|
||||
<span id="221">221</span>
|
||||
<span id="222">222</span>
|
||||
<span id="223">223</span>
|
||||
<span id="224">224</span>
|
||||
<span id="225">225</span>
|
||||
<span id="226">226</span>
|
||||
<span id="227">227</span>
|
||||
<span id="228">228</span>
|
||||
<span id="229">229</span>
|
||||
<span id="230">230</span>
|
||||
<span id="231">231</span>
|
||||
<span id="232">232</span>
|
||||
<span id="233">233</span>
|
||||
<span id="234">234</span>
|
||||
<span id="235">235</span>
|
||||
<span id="236">236</span>
|
||||
<span id="237">237</span>
|
||||
<span id="238">238</span>
|
||||
<span id="239">239</span>
|
||||
<span id="240">240</span>
|
||||
<span id="241">241</span>
|
||||
<span id="242">242</span>
|
||||
<span id="243">243</span>
|
||||
<span id="244">244</span>
|
||||
<span id="245">245</span>
|
||||
<span id="246">246</span>
|
||||
<span id="247">247</span>
|
||||
<span id="248">248</span>
|
||||
<span id="249">249</span>
|
||||
<span id="250">250</span>
|
||||
<span id="251">251</span>
|
||||
<span id="252">252</span>
|
||||
<span id="253">253</span>
|
||||
<span id="254">254</span>
|
||||
<span id="255">255</span>
|
||||
<span id="256">256</span>
|
||||
<span id="257">257</span>
|
||||
<span id="258">258</span>
|
||||
<span id="259">259</span>
|
||||
<span id="260">260</span>
|
||||
<span id="261">261</span>
|
||||
<span id="262">262</span>
|
||||
<span id="263">263</span>
|
||||
<span id="264">264</span>
|
||||
<span id="265">265</span>
|
||||
<span id="266">266</span>
|
||||
<span id="267">267</span>
|
||||
<span id="268">268</span>
|
||||
<span id="269">269</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="kw">use</span> <span class="kw">super</span>::{<span class="ident">ArrayLength</span>, <span class="ident">GenericArray</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">borrow</span>::{<span class="ident">Borrow</span>, <span class="ident">BorrowMut</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">cmp</span>::<span class="ident">Ordering</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">fmt</span>::{<span class="self">self</span>, <span class="ident">Debug</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">hash</span>::{<span class="ident">Hash</span>, <span class="ident">Hasher</span>};
|
||||
<span class="kw">use</span> <span class="ident">functional</span>::<span class="kw-2">*</span>;
|
||||
<span class="kw">use</span> <span class="ident">sequence</span>::<span class="kw-2">*</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="kw">super</span>::{<span class="ident">ArrayLength</span>, <span class="ident">GenericArray</span>};
|
||||
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">functional</span>::<span class="kw-2">*</span>;
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">sequence</span>::<span class="kw-2">*</span>;
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>: <span class="ident">Default</span>, <span class="ident">N</span><span class="op">></span> <span class="ident">Default</span> <span class="kw">for</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span>
|
||||
<span class="kw">where</span>
|
||||
<span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>,
|
||||
{
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="attribute">#[<span class="ident">inline</span>(<span class="ident">always</span>)]</span>
|
||||
<span class="kw">fn</span> <span class="ident">default</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
|
||||
<span class="self">Self</span>::<span class="ident">generate</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">T</span>::<span class="ident">default</span>())
|
||||
}
|
||||
@ -226,11 +315,7 @@
|
||||
<span class="kw-2">*</span><span class="kw-2">*</span><span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">*</span><span class="kw-2">*</span><span class="ident">other</span>
|
||||
}
|
||||
}
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>: <span class="ident">Eq</span>, <span class="ident">N</span><span class="op">></span> <span class="ident">Eq</span> <span class="kw">for</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span>
|
||||
<span class="kw">where</span>
|
||||
<span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>,
|
||||
{
|
||||
}
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>: <span class="ident">Eq</span>, <span class="ident">N</span><span class="op">></span> <span class="ident">Eq</span> <span class="kw">for</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> <span class="kw">where</span> <span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> {}
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>: <span class="ident">PartialOrd</span>, <span class="ident">N</span><span class="op">></span> <span class="ident">PartialOrd</span> <span class="kw">for</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span>
|
||||
<span class="kw">where</span>
|
||||
@ -321,14 +406,50 @@
|
||||
}
|
||||
}
|
||||
|
||||
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">relaxed_coherence</span>)]</span>
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="ident">From</span><span class="op"><</span><span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span><span class="op">></span> <span class="kw">for</span> [<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>] {
|
||||
<span class="attribute">#[<span class="ident">inline</span>(<span class="ident">always</span>)]</span>
|
||||
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">sel</span>: <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> [<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>] {
|
||||
<span class="kw">unsafe</span> { <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">transmute</span>(<span class="ident">sel</span>) }
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'a</span>, <span class="ident">T</span><span class="op">></span> <span class="ident">From</span><span class="op"><</span><span class="kw-2">&</span><span class="lifetime">'a</span> [<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>]<span class="op">></span> <span class="kw">for</span> <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span> {
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">slice</span>: <span class="kw-2">&</span>[<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>]) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span> {
|
||||
<span class="kw">unsafe</span> { <span class="kw-2">&</span><span class="kw-2">*</span>(<span class="ident">slice</span>.<span class="ident">as_ptr</span>() <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span>) }
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'a</span>, <span class="ident">T</span><span class="op">></span> <span class="ident">From</span><span class="op"><</span><span class="kw-2">&</span><span class="lifetime">'a</span> <span class="kw-2">mut</span> [<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>]<span class="op">></span> <span class="kw">for</span> <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="kw-2">mut</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span> {
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">slice</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> [<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>]) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span> {
|
||||
<span class="kw">unsafe</span> { <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="kw-2">*</span>(<span class="ident">slice</span>.<span class="ident">as_mut_ptr</span>() <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span>) }
|
||||
}
|
||||
}
|
||||
|
||||
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">not</span>(<span class="ident">relaxed_coherence</span>))]</span>
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="ident">Into</span><span class="op"><</span>[<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>]<span class="op">></span> <span class="kw">for</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span> {
|
||||
<span class="attribute">#[<span class="ident">inline</span>(<span class="ident">always</span>)]</span>
|
||||
<span class="kw">fn</span> <span class="ident">into</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> [<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>] {
|
||||
<span class="kw">unsafe</span> { <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">transmute</span>(<span class="self">self</span>) }
|
||||
}
|
||||
}
|
||||
)<span class="op">*</span>
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="ident">AsRef</span><span class="op"><</span>[<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>]<span class="op">></span> <span class="kw">for</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span> {
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">as_ref</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span>[<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>] {
|
||||
<span class="kw">unsafe</span> { <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">transmute</span>(<span class="self">self</span>) }
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="ident">AsMut</span><span class="op"><</span>[<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>]<span class="op">></span> <span class="kw">for</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ty</span><span class="op">></span> {
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">as_mut</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> [<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">n</span>] {
|
||||
<span class="kw">unsafe</span> { <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">transmute</span>(<span class="self">self</span>) }
|
||||
}
|
||||
}
|
||||
)<span class="op">*</span>
|
||||
}
|
||||
}
|
||||
|
||||
@ -366,5 +487,58 @@
|
||||
<span class="number">31</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U31</span>,
|
||||
<span class="number">32</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U32</span>
|
||||
}
|
||||
|
||||
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"more_lengths"</span>)]</span>
|
||||
<span class="macro">impl_from</span><span class="macro">!</span> {
|
||||
<span class="number">33</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U33</span>,
|
||||
<span class="number">34</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U34</span>,
|
||||
<span class="number">35</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U35</span>,
|
||||
<span class="number">36</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U36</span>,
|
||||
<span class="number">37</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U37</span>,
|
||||
<span class="number">38</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U38</span>,
|
||||
<span class="number">39</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U39</span>,
|
||||
<span class="number">40</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U40</span>,
|
||||
<span class="number">41</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U41</span>,
|
||||
<span class="number">42</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U42</span>,
|
||||
<span class="number">43</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U43</span>,
|
||||
<span class="number">44</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U44</span>,
|
||||
<span class="number">45</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U45</span>,
|
||||
<span class="number">46</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U46</span>,
|
||||
<span class="number">47</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U47</span>,
|
||||
<span class="number">48</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U48</span>,
|
||||
<span class="number">49</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U49</span>,
|
||||
<span class="number">50</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U50</span>,
|
||||
<span class="number">51</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U51</span>,
|
||||
<span class="number">52</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U52</span>,
|
||||
<span class="number">53</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U53</span>,
|
||||
<span class="number">54</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U54</span>,
|
||||
<span class="number">55</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U55</span>,
|
||||
<span class="number">56</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U56</span>,
|
||||
<span class="number">57</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U57</span>,
|
||||
<span class="number">58</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U58</span>,
|
||||
<span class="number">59</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U59</span>,
|
||||
<span class="number">60</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U60</span>,
|
||||
<span class="number">61</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U61</span>,
|
||||
<span class="number">62</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U62</span>,
|
||||
<span class="number">63</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U63</span>,
|
||||
<span class="number">64</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U64</span>,
|
||||
|
||||
<span class="number">70</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U70</span>,
|
||||
<span class="number">80</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U80</span>,
|
||||
<span class="number">90</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U90</span>,
|
||||
|
||||
<span class="number">100</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U100</span>,
|
||||
<span class="number">200</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U200</span>,
|
||||
<span class="number">300</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U300</span>,
|
||||
<span class="number">400</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U400</span>,
|
||||
<span class="number">500</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U500</span>,
|
||||
|
||||
<span class="number">128</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U128</span>,
|
||||
<span class="number">256</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U256</span>,
|
||||
<span class="number">512</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U512</span>,
|
||||
|
||||
<span class="number">1000</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U1000</span>,
|
||||
<span class="number">1024</span> <span class="op">=</span><span class="op">></span> ::<span class="ident">typenum</span>::<span class="ident">U1024</span>
|
||||
}
|
||||
</pre></div>
|
||||
</section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script src="../../source-script.js"></script><script src="../../source-files.js"></script><script defer src="../../search-index.js"></script></body></html>
|
@ -1,4 +1,4 @@
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.12.3/src/iter.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>iter.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.14.4/src/iter.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>iter.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
@ -191,12 +191,80 @@
|
||||
<span id="188">188</span>
|
||||
<span id="189">189</span>
|
||||
<span id="190">190</span>
|
||||
<span id="191">191</span>
|
||||
<span id="192">192</span>
|
||||
<span id="193">193</span>
|
||||
<span id="194">194</span>
|
||||
<span id="195">195</span>
|
||||
<span id="196">196</span>
|
||||
<span id="197">197</span>
|
||||
<span id="198">198</span>
|
||||
<span id="199">199</span>
|
||||
<span id="200">200</span>
|
||||
<span id="201">201</span>
|
||||
<span id="202">202</span>
|
||||
<span id="203">203</span>
|
||||
<span id="204">204</span>
|
||||
<span id="205">205</span>
|
||||
<span id="206">206</span>
|
||||
<span id="207">207</span>
|
||||
<span id="208">208</span>
|
||||
<span id="209">209</span>
|
||||
<span id="210">210</span>
|
||||
<span id="211">211</span>
|
||||
<span id="212">212</span>
|
||||
<span id="213">213</span>
|
||||
<span id="214">214</span>
|
||||
<span id="215">215</span>
|
||||
<span id="216">216</span>
|
||||
<span id="217">217</span>
|
||||
<span id="218">218</span>
|
||||
<span id="219">219</span>
|
||||
<span id="220">220</span>
|
||||
<span id="221">221</span>
|
||||
<span id="222">222</span>
|
||||
<span id="223">223</span>
|
||||
<span id="224">224</span>
|
||||
<span id="225">225</span>
|
||||
<span id="226">226</span>
|
||||
<span id="227">227</span>
|
||||
<span id="228">228</span>
|
||||
<span id="229">229</span>
|
||||
<span id="230">230</span>
|
||||
<span id="231">231</span>
|
||||
<span id="232">232</span>
|
||||
<span id="233">233</span>
|
||||
<span id="234">234</span>
|
||||
<span id="235">235</span>
|
||||
<span id="236">236</span>
|
||||
<span id="237">237</span>
|
||||
<span id="238">238</span>
|
||||
<span id="239">239</span>
|
||||
<span id="240">240</span>
|
||||
<span id="241">241</span>
|
||||
<span id="242">242</span>
|
||||
<span id="243">243</span>
|
||||
<span id="244">244</span>
|
||||
<span id="245">245</span>
|
||||
<span id="246">246</span>
|
||||
<span id="247">247</span>
|
||||
<span id="248">248</span>
|
||||
<span id="249">249</span>
|
||||
<span id="250">250</span>
|
||||
<span id="251">251</span>
|
||||
<span id="252">252</span>
|
||||
<span id="253">253</span>
|
||||
<span id="254">254</span>
|
||||
<span id="255">255</span>
|
||||
<span id="256">256</span>
|
||||
<span id="257">257</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="doccomment">//! `GenericArray` iterator implementation.</span>
|
||||
|
||||
<span class="kw">use</span> <span class="kw">super</span>::{<span class="ident">ArrayLength</span>, <span class="ident">GenericArray</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::{<span class="ident">cmp</span>, <span class="ident">ptr</span>, <span class="ident">fmt</span>, <span class="ident">mem</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">mem</span>::<span class="ident">ManuallyDrop</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">iter</span>::<span class="ident">FusedIterator</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">mem</span>::{<span class="ident">MaybeUninit</span>, <span class="ident">ManuallyDrop</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::{<span class="ident">cmp</span>, <span class="ident">fmt</span>, <span class="ident">ptr</span>, <span class="ident">mem</span>};
|
||||
|
||||
<span class="doccomment">/// An iterator that moves out of a `GenericArray`</span>
|
||||
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">GenericArrayIter</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span> {
|
||||
@ -248,7 +316,7 @@
|
||||
<span class="ident">GenericArrayIter</span> {
|
||||
<span class="ident">array</span>: <span class="ident">ManuallyDrop</span>::<span class="ident">new</span>(<span class="self">self</span>),
|
||||
<span class="ident">index</span>: <span class="number">0</span>,
|
||||
<span class="ident">index_back</span>: <span class="ident">N</span>::<span class="ident">to_usize</span>(),
|
||||
<span class="ident">index_back</span>: <span class="ident">N</span>::<span class="ident">USIZE</span>,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -271,10 +339,12 @@
|
||||
{
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||||
<span class="comment">// Drop values that are still alive.</span>
|
||||
<span class="kw">for</span> <span class="ident">p</span> <span class="kw">in</span> <span class="self">self</span>.<span class="ident">as_mut_slice</span>() {
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">drop_in_place</span>(<span class="ident">p</span>);
|
||||
<span class="kw">if</span> <span class="ident">mem</span>::<span class="ident">needs_drop</span>::<span class="op"><</span><span class="ident">T</span><span class="op">></span>() {
|
||||
<span class="comment">// Drop values that are still alive.</span>
|
||||
<span class="kw">for</span> <span class="ident">p</span> <span class="kw">in</span> <span class="self">self</span>.<span class="ident">as_mut_slice</span>() {
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">drop_in_place</span>(<span class="ident">p</span>);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -289,19 +359,20 @@
|
||||
<span class="comment">// This places all cloned elements at the start of the new array iterator,</span>
|
||||
<span class="comment">// not at their original indices.</span>
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">iter</span> <span class="op">=</span> <span class="ident">GenericArrayIter</span> {
|
||||
<span class="ident">array</span>: <span class="ident">ManuallyDrop</span>::<span class="ident">new</span>(<span class="ident">mem</span>::<span class="ident">uninitialized</span>()),
|
||||
<span class="ident">index</span>: <span class="number">0</span>,
|
||||
<span class="ident">index_back</span>: <span class="number">0</span>,
|
||||
};
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span>: <span class="ident">MaybeUninit</span><span class="op"><</span><span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span><span class="op">></span> <span class="op">=</span> <span class="ident">MaybeUninit</span>::<span class="ident">uninit</span>();
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">index_back</span> <span class="op">=</span> <span class="number">0</span>;
|
||||
|
||||
<span class="kw">for</span> (<span class="ident">dst</span>, <span class="ident">src</span>) <span class="kw">in</span> <span class="ident">iter</span>.<span class="ident">array</span>.<span class="ident">iter_mut</span>().<span class="ident">zip</span>(<span class="self">self</span>.<span class="ident">as_slice</span>()) {
|
||||
<span class="kw">for</span> (<span class="ident">dst</span>, <span class="ident">src</span>) <span class="kw">in</span> (<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="kw-2">*</span><span class="ident">array</span>.<span class="ident">as_mut_ptr</span>()).<span class="ident">iter_mut</span>().<span class="ident">zip</span>(<span class="self">self</span>.<span class="ident">as_slice</span>()) {
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">dst</span>, <span class="ident">src</span>.<span class="ident">clone</span>());
|
||||
|
||||
<span class="ident">iter</span>.<span class="ident">index_back</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
|
||||
<span class="ident">index_back</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
|
||||
}
|
||||
|
||||
<span class="ident">iter</span>
|
||||
<span class="ident">GenericArrayIter</span> {
|
||||
<span class="ident">array</span>: <span class="ident">ManuallyDrop</span>::<span class="ident">new</span>(<span class="ident">array</span>.<span class="ident">assume_init</span>()),
|
||||
<span class="ident">index</span>: <span class="number">0</span>,
|
||||
<span class="ident">index_back</span>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -325,6 +396,34 @@
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">fold</span><span class="op"><</span><span class="ident">B</span>, <span class="ident">F</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">init</span>: <span class="ident">B</span>, <span class="kw-2">mut</span> <span class="ident">f</span>: <span class="ident">F</span>) <span class="op">-</span><span class="op">></span> <span class="ident">B</span>
|
||||
<span class="kw">where</span>
|
||||
<span class="ident">F</span>: <span class="ident">FnMut</span>(<span class="ident">B</span>, <span class="self">Self</span>::<span class="ident">Item</span>) <span class="op">-</span><span class="op">></span> <span class="ident">B</span>,
|
||||
{
|
||||
<span class="kw">let</span> <span class="ident">ret</span> <span class="op">=</span> <span class="kw">unsafe</span> {
|
||||
<span class="kw">let</span> <span class="ident">GenericArrayIter</span> {
|
||||
<span class="kw-2">ref</span> <span class="ident">array</span>,
|
||||
<span class="kw-2">ref</span> <span class="kw-2">mut</span> <span class="ident">index</span>,
|
||||
<span class="ident">index_back</span>,
|
||||
} <span class="op">=</span> <span class="self">self</span>;
|
||||
|
||||
<span class="kw">let</span> <span class="ident">remaining</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">array</span>[<span class="kw-2">*</span><span class="ident">index</span>..<span class="ident">index_back</span>];
|
||||
|
||||
<span class="ident">remaining</span>.<span class="ident">iter</span>().<span class="ident">fold</span>(<span class="ident">init</span>, <span class="op">|</span><span class="ident">acc</span>, <span class="ident">src</span><span class="op">|</span> {
|
||||
<span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">src</span>);
|
||||
|
||||
<span class="kw-2">*</span><span class="ident">index</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
|
||||
|
||||
<span class="ident">f</span>(<span class="ident">acc</span>, <span class="ident">value</span>)
|
||||
})
|
||||
};
|
||||
|
||||
<span class="comment">// ensure the drop happens here after iteration</span>
|
||||
<span class="ident">drop</span>(<span class="self">self</span>);
|
||||
|
||||
<span class="ident">ret</span>
|
||||
}
|
||||
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">size_hint</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> (<span class="ident">usize</span>, <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">usize</span><span class="op">></span>) {
|
||||
<span class="kw">let</span> <span class="ident">len</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">len</span>();
|
||||
@ -351,6 +450,7 @@
|
||||
<span class="self">self</span>.<span class="ident">next</span>()
|
||||
}
|
||||
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">last</span>(<span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> {
|
||||
<span class="comment">// Note, everything else will correctly drop first as `self` leaves scope.</span>
|
||||
<span class="self">self</span>.<span class="ident">next_back</span>()
|
||||
@ -370,6 +470,34 @@
|
||||
<span class="prelude-val">None</span>
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">rfold</span><span class="op"><</span><span class="ident">B</span>, <span class="ident">F</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">init</span>: <span class="ident">B</span>, <span class="kw-2">mut</span> <span class="ident">f</span>: <span class="ident">F</span>) <span class="op">-</span><span class="op">></span> <span class="ident">B</span>
|
||||
<span class="kw">where</span>
|
||||
<span class="ident">F</span>: <span class="ident">FnMut</span>(<span class="ident">B</span>, <span class="self">Self</span>::<span class="ident">Item</span>) <span class="op">-</span><span class="op">></span> <span class="ident">B</span>,
|
||||
{
|
||||
<span class="kw">let</span> <span class="ident">ret</span> <span class="op">=</span> <span class="kw">unsafe</span> {
|
||||
<span class="kw">let</span> <span class="ident">GenericArrayIter</span> {
|
||||
<span class="kw-2">ref</span> <span class="ident">array</span>,
|
||||
<span class="ident">index</span>,
|
||||
<span class="kw-2">ref</span> <span class="kw-2">mut</span> <span class="ident">index_back</span>,
|
||||
} <span class="op">=</span> <span class="self">self</span>;
|
||||
|
||||
<span class="kw">let</span> <span class="ident">remaining</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">array</span>[<span class="ident">index</span>..<span class="kw-2">*</span><span class="ident">index_back</span>];
|
||||
|
||||
<span class="ident">remaining</span>.<span class="ident">iter</span>().<span class="ident">rfold</span>(<span class="ident">init</span>, <span class="op">|</span><span class="ident">acc</span>, <span class="ident">src</span><span class="op">|</span> {
|
||||
<span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">src</span>);
|
||||
|
||||
<span class="kw-2">*</span><span class="ident">index_back</span> <span class="op">-</span><span class="op">=</span> <span class="number">1</span>;
|
||||
|
||||
<span class="ident">f</span>(<span class="ident">acc</span>, <span class="ident">value</span>)
|
||||
})
|
||||
};
|
||||
|
||||
<span class="comment">// ensure the drop happens here after iteration</span>
|
||||
<span class="ident">drop</span>(<span class="self">self</span>);
|
||||
|
||||
<span class="ident">ret</span>
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> <span class="ident">ExactSizeIterator</span> <span class="kw">for</span> <span class="ident">GenericArrayIter</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span>
|
||||
@ -381,5 +509,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
<span class="comment">// TODO: Implement `FusedIterator` and `TrustedLen` when stabilized</span></pre></div>
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> <span class="ident">FusedIterator</span> <span class="kw">for</span> <span class="ident">GenericArrayIter</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span>
|
||||
<span class="kw">where</span>
|
||||
<span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>,
|
||||
{
|
||||
}
|
||||
|
||||
<span class="comment">// TODO: Implement `TrustedLen` when stabilized</span>
|
||||
</pre></div>
|
||||
</section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "generic_array";</script><script src="../../main.js"></script><script src="../../source-script.js"></script><script src="../../source-files.js"></script><script defer src="../../search-index.js"></script></body></html>
|
@ -1,4 +1,4 @@
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.12.3/src/lib.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>lib.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.14.4/src/lib.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>lib.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
@ -633,12 +633,53 @@
|
||||
<span id="630">630</span>
|
||||
<span id="631">631</span>
|
||||
<span id="632">632</span>
|
||||
<span id="633">633</span>
|
||||
<span id="634">634</span>
|
||||
<span id="635">635</span>
|
||||
<span id="636">636</span>
|
||||
<span id="637">637</span>
|
||||
<span id="638">638</span>
|
||||
<span id="639">639</span>
|
||||
<span id="640">640</span>
|
||||
<span id="641">641</span>
|
||||
<span id="642">642</span>
|
||||
<span id="643">643</span>
|
||||
<span id="644">644</span>
|
||||
<span id="645">645</span>
|
||||
<span id="646">646</span>
|
||||
<span id="647">647</span>
|
||||
<span id="648">648</span>
|
||||
<span id="649">649</span>
|
||||
<span id="650">650</span>
|
||||
<span id="651">651</span>
|
||||
<span id="652">652</span>
|
||||
<span id="653">653</span>
|
||||
<span id="654">654</span>
|
||||
<span id="655">655</span>
|
||||
<span id="656">656</span>
|
||||
<span id="657">657</span>
|
||||
<span id="658">658</span>
|
||||
<span id="659">659</span>
|
||||
<span id="660">660</span>
|
||||
<span id="661">661</span>
|
||||
<span id="662">662</span>
|
||||
<span id="663">663</span>
|
||||
<span id="664">664</span>
|
||||
<span id="665">665</span>
|
||||
<span id="666">666</span>
|
||||
<span id="667">667</span>
|
||||
<span id="668">668</span>
|
||||
<span id="669">669</span>
|
||||
<span id="670">670</span>
|
||||
<span id="671">671</span>
|
||||
<span id="672">672</span>
|
||||
<span id="673">673</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="doccomment">//! This crate implements a structure that can be used as a generic array type.use</span>
|
||||
<span class="doccomment">//! This crate implements a structure that can be used as a generic array type.</span>
|
||||
<span class="doccomment">//! Core Rust array types `[T; N]` can't be used generically with</span>
|
||||
<span class="doccomment">//! respect to `N`, so for example this:</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! ```{should_fail}</span>
|
||||
<span class="doccomment">//! ```rust{compile_fail}</span>
|
||||
<span class="doccomment">//! struct Foo<T, N> {</span>
|
||||
<span class="doccomment">//! data: [T; N]</span>
|
||||
<span class="doccomment">//! }</span>
|
||||
@ -649,8 +690,9 @@
|
||||
<span class="doccomment">//! **generic-array** exports a `GenericArray<T,N>` type, which lets</span>
|
||||
<span class="doccomment">//! the above be implemented as:</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! ```</span>
|
||||
<span class="doccomment">//! # use generic_array::{ArrayLength, GenericArray};</span>
|
||||
<span class="doccomment">//! ```rust</span>
|
||||
<span class="doccomment">//! use generic_array::{ArrayLength, GenericArray};</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! struct Foo<T, N: ArrayLength<T>> {</span>
|
||||
<span class="doccomment">//! data: GenericArray<T,N></span>
|
||||
<span class="doccomment">//! }</span>
|
||||
@ -658,7 +700,35 @@
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! The `ArrayLength<T>` trait is implemented by default for</span>
|
||||
<span class="doccomment">//! [unsigned integer types](../typenum/uint/index.html) from</span>
|
||||
<span class="doccomment">//! [typenum](../typenum/index.html).</span>
|
||||
<span class="doccomment">//! [typenum](../typenum/index.html):</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! ```rust</span>
|
||||
<span class="doccomment">//! # use generic_array::{ArrayLength, GenericArray};</span>
|
||||
<span class="doccomment">//! use generic_array::typenum::U5;</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! struct Foo<N: ArrayLength<i32>> {</span>
|
||||
<span class="doccomment">//! data: GenericArray<i32, N></span>
|
||||
<span class="doccomment">//! }</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! # fn main() {</span>
|
||||
<span class="doccomment">//! let foo = Foo::<U5>{data: GenericArray::default()};</span>
|
||||
<span class="doccomment">//! # }</span>
|
||||
<span class="doccomment">//! ```</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! For example, `GenericArray<T, U5>` would work almost like `[T; 5]`:</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! ```rust</span>
|
||||
<span class="doccomment">//! # use generic_array::{ArrayLength, GenericArray};</span>
|
||||
<span class="doccomment">//! use generic_array::typenum::U5;</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! struct Foo<T, N: ArrayLength<T>> {</span>
|
||||
<span class="doccomment">//! data: GenericArray<T, N></span>
|
||||
<span class="doccomment">//! }</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! # fn main() {</span>
|
||||
<span class="doccomment">//! let foo = Foo::<i32, U5>{data: GenericArray::default()};</span>
|
||||
<span class="doccomment">//! # }</span>
|
||||
<span class="doccomment">//! ```</span>
|
||||
<span class="doccomment">//!</span>
|
||||
<span class="doccomment">//! For ease of use, an `arr!` macro is provided - example below:</span>
|
||||
<span class="doccomment">//!</span>
|
||||
@ -673,6 +743,7 @@
|
||||
<span class="doccomment">//! ```</span>
|
||||
|
||||
<span class="attribute">#![<span class="ident">deny</span>(<span class="ident">missing_docs</span>)]</span>
|
||||
<span class="attribute">#![<span class="ident">deny</span>(<span class="ident">meta_variable_misuse</span>)]</span>
|
||||
<span class="attribute">#![<span class="ident">no_std</span>]</span>
|
||||
|
||||
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"serde"</span>)]</span>
|
||||
@ -687,11 +758,11 @@
|
||||
<span class="kw">mod</span> <span class="ident">impls</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"serde"</span>)]</span>
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">impl_serde</span>;
|
||||
<span class="kw">mod</span> <span class="ident">impl_serde</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">iter</span>::<span class="ident">FromIterator</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">mem</span>::<span class="ident">ManuallyDrop</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">mem</span>::{<span class="ident">MaybeUninit</span>, <span class="ident">ManuallyDrop</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">ops</span>::{<span class="ident">Deref</span>, <span class="ident">DerefMut</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::{<span class="ident">mem</span>, <span class="ident">ptr</span>, <span class="ident">slice</span>};
|
||||
<span class="kw">use</span> <span class="ident">typenum</span>::<span class="ident">bit</span>::{<span class="ident">B0</span>, <span class="ident">B1</span>};
|
||||
@ -703,9 +774,9 @@
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">iter</span>;
|
||||
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">sequence</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="ident">functional</span>::<span class="kw-2">*</span>;
|
||||
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">iter</span>::<span class="ident">GenericArrayIter</span>;
|
||||
<span class="kw">use</span> <span class="ident">sequence</span>::<span class="kw-2">*</span>;
|
||||
<span class="kw">use</span> <span class="self">self</span>::<span class="ident">functional</span>::<span class="kw-2">*</span>;
|
||||
<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span>::<span class="ident">iter</span>::<span class="ident">GenericArrayIter</span>;
|
||||
<span class="kw">use</span> <span class="self">self</span>::<span class="ident">sequence</span>::<span class="kw-2">*</span>;
|
||||
|
||||
<span class="doccomment">/// Trait making `GenericArray` work, marking types to be used as length of an array</span>
|
||||
<span class="kw">pub</span> <span class="kw">unsafe</span> <span class="kw">trait</span> <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>: <span class="ident">Unsigned</span> {
|
||||
@ -715,7 +786,7 @@
|
||||
|
||||
<span class="kw">unsafe</span> <span class="kw">impl</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="kw">for</span> <span class="ident">UTerm</span> {
|
||||
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
|
||||
<span class="kw">type</span> <span class="ident">ArrayType</span> <span class="op">=</span> ();
|
||||
<span class="kw">type</span> <span class="ident">ArrayType</span> <span class="op">=</span> [<span class="ident">T</span>; <span class="number">0</span>];
|
||||
}
|
||||
|
||||
<span class="doccomment">/// Internal type used to generate a struct of appropriate size</span>
|
||||
@ -774,6 +845,7 @@
|
||||
|
||||
<span class="doccomment">/// Struct representing a generic array - `GenericArray<T, N>` works like [T; N]</span>
|
||||
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">dead_code</span>)]</span>
|
||||
<span class="attribute">#[<span class="ident">repr</span>(<span class="ident">transparent</span>)]</span>
|
||||
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">U</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="ident">data</span>: <span class="ident">U</span>::<span class="ident">ArrayType</span>,
|
||||
}
|
||||
@ -789,7 +861,7 @@
|
||||
|
||||
<span class="attribute">#[<span class="ident">inline</span>(<span class="ident">always</span>)]</span>
|
||||
<span class="kw">fn</span> <span class="ident">deref</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span>[<span class="ident">T</span>] {
|
||||
<span class="kw">unsafe</span> { <span class="ident">slice</span>::<span class="ident">from_raw_parts</span>(<span class="self">self</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="self">Self</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="ident">T</span>, <span class="ident">N</span>::<span class="ident">to_usize</span>()) }
|
||||
<span class="kw">unsafe</span> { <span class="ident">slice</span>::<span class="ident">from_raw_parts</span>(<span class="self">self</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="self">Self</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="ident">T</span>, <span class="ident">N</span>::<span class="ident">USIZE</span>) }
|
||||
}
|
||||
}
|
||||
|
||||
@ -799,7 +871,7 @@
|
||||
{
|
||||
<span class="attribute">#[<span class="ident">inline</span>(<span class="ident">always</span>)]</span>
|
||||
<span class="kw">fn</span> <span class="ident">deref_mut</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> [<span class="ident">T</span>] {
|
||||
<span class="kw">unsafe</span> { <span class="ident">slice</span>::<span class="ident">from_raw_parts_mut</span>(<span class="self">self</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="self">Self</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="ident">T</span>, <span class="ident">N</span>::<span class="ident">to_usize</span>()) }
|
||||
<span class="kw">unsafe</span> { <span class="ident">slice</span>::<span class="ident">from_raw_parts_mut</span>(<span class="self">self</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="self">Self</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="ident">T</span>, <span class="ident">N</span>::<span class="ident">USIZE</span>) }
|
||||
}
|
||||
}
|
||||
|
||||
@ -810,7 +882,7 @@
|
||||
<span class="doccomment">/// which will be dropped if `into_inner` is not called.</span>
|
||||
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
|
||||
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">ArrayBuilder</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="ident">array</span>: <span class="ident">ManuallyDrop</span><span class="op"><</span><span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span><span class="op">></span>,
|
||||
<span class="ident">array</span>: <span class="ident">MaybeUninit</span><span class="op"><</span><span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span><span class="op">></span>,
|
||||
<span class="ident">position</span>: <span class="ident">usize</span>,
|
||||
}
|
||||
|
||||
@ -819,7 +891,7 @@
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">pub</span> <span class="kw">unsafe</span> <span class="kw">fn</span> <span class="ident">new</span>() <span class="op">-</span><span class="op">></span> <span class="ident">ArrayBuilder</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> {
|
||||
<span class="ident">ArrayBuilder</span> {
|
||||
<span class="ident">array</span>: <span class="ident">ManuallyDrop</span>::<span class="ident">new</span>(<span class="ident">mem</span>::<span class="ident">uninitialized</span>()),
|
||||
<span class="ident">array</span>: <span class="ident">MaybeUninit</span>::<span class="ident">uninit</span>(),
|
||||
<span class="ident">position</span>: <span class="number">0</span>,
|
||||
}
|
||||
}
|
||||
@ -831,7 +903,7 @@
|
||||
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">pub</span> <span class="kw">unsafe</span> <span class="kw">fn</span> <span class="ident">iter_position</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">></span> (<span class="ident">slice</span>::<span class="ident">IterMut</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">usize</span>) {
|
||||
(<span class="self">self</span>.<span class="ident">array</span>.<span class="ident">iter_mut</span>(), <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">position</span>)
|
||||
((<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="kw-2">*</span><span class="self">self</span>.<span class="ident">array</span>.<span class="ident">as_mut_ptr</span>()).<span class="ident">iter_mut</span>(), <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">position</span>)
|
||||
}
|
||||
|
||||
<span class="doccomment">/// When done writing (assuming all elements have been written to),</span>
|
||||
@ -843,15 +915,17 @@
|
||||
|
||||
<span class="ident">mem</span>::<span class="ident">forget</span>(<span class="self">self</span>);
|
||||
|
||||
<span class="ident">ManuallyDrop</span>::<span class="ident">into_inner</span>(<span class="ident">array</span>)
|
||||
<span class="ident">array</span>.<span class="ident">assume_init</span>()
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span> <span class="ident">Drop</span> <span class="kw">for</span> <span class="ident">ArrayBuilder</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> {
|
||||
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||||
<span class="kw">for</span> <span class="ident">value</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">array</span>[..<span class="self">self</span>.<span class="ident">position</span>] {
|
||||
<span class="kw">if</span> <span class="ident">mem</span>::<span class="ident">needs_drop</span>::<span class="op"><</span><span class="ident">T</span><span class="op">></span>() {
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">drop_in_place</span>(<span class="ident">value</span>);
|
||||
<span class="kw">for</span> <span class="ident">value</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="kw-2">mut</span> (<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="kw-2">*</span><span class="self">self</span>.<span class="ident">array</span>.<span class="ident">as_mut_ptr</span>())[..<span class="self">self</span>.<span class="ident">position</span>] {
|
||||
<span class="ident">ptr</span>::<span class="ident">drop_in_place</span>(<span class="ident">value</span>);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -890,9 +964,11 @@
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span> <span class="ident">Drop</span> <span class="kw">for</span> <span class="ident">ArrayConsumer</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> {
|
||||
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||||
<span class="kw">for</span> <span class="ident">value</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">array</span>[<span class="self">self</span>.<span class="ident">position</span>..<span class="ident">N</span>::<span class="ident">to_usize</span>()] {
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">drop_in_place</span>(<span class="ident">value</span>);
|
||||
<span class="kw">if</span> <span class="ident">mem</span>::<span class="ident">needs_drop</span>::<span class="op"><</span><span class="ident">T</span><span class="op">></span>() {
|
||||
<span class="kw">for</span> <span class="ident">value</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">array</span>[<span class="self">self</span>.<span class="ident">position</span>..<span class="ident">N</span>::<span class="ident">USIZE</span>] {
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">drop_in_place</span>(<span class="ident">value</span>);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -936,15 +1012,17 @@
|
||||
{
|
||||
<span class="kw">let</span> (<span class="ident">destination_iter</span>, <span class="ident">position</span>) <span class="op">=</span> <span class="ident">destination</span>.<span class="ident">iter_position</span>();
|
||||
|
||||
<span class="kw">for</span> (<span class="ident">src</span>, <span class="ident">dst</span>) <span class="kw">in</span> <span class="ident">iter</span>.<span class="ident">into_iter</span>().<span class="ident">zip</span>(<span class="ident">destination_iter</span>) {
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">dst</span>, <span class="ident">src</span>);
|
||||
<span class="ident">iter</span>.<span class="ident">into_iter</span>()
|
||||
.<span class="ident">zip</span>(<span class="ident">destination_iter</span>)
|
||||
.<span class="ident">for_each</span>(<span class="op">|</span>(<span class="ident">src</span>, <span class="ident">dst</span>)<span class="op">|</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">dst</span>, <span class="ident">src</span>);
|
||||
|
||||
<span class="kw-2">*</span><span class="ident">position</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
|
||||
}
|
||||
<span class="kw-2">*</span><span class="ident">position</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
|
||||
});
|
||||
}
|
||||
|
||||
<span class="kw">if</span> <span class="ident">destination</span>.<span class="ident">position</span> <span class="op"><</span> <span class="ident">N</span>::<span class="ident">to_usize</span>() {
|
||||
<span class="ident">from_iter_length_fail</span>(<span class="ident">destination</span>.<span class="ident">position</span>, <span class="ident">N</span>::<span class="ident">to_usize</span>());
|
||||
<span class="kw">if</span> <span class="ident">destination</span>.<span class="ident">position</span> <span class="op"><</span> <span class="ident">N</span>::<span class="ident">USIZE</span> {
|
||||
<span class="ident">from_iter_length_fail</span>(<span class="ident">destination</span>.<span class="ident">position</span>, <span class="ident">N</span>::<span class="ident">USIZE</span>);
|
||||
}
|
||||
|
||||
<span class="ident">destination</span>.<span class="ident">into_inner</span>()
|
||||
@ -979,11 +1057,11 @@
|
||||
{
|
||||
<span class="kw">let</span> (<span class="ident">destination_iter</span>, <span class="ident">position</span>) <span class="op">=</span> <span class="ident">destination</span>.<span class="ident">iter_position</span>();
|
||||
|
||||
<span class="kw">for</span> (<span class="ident">i</span>, <span class="ident">dst</span>) <span class="kw">in</span> <span class="ident">destination_iter</span>.<span class="ident">enumerate</span>() {
|
||||
<span class="ident">destination_iter</span>.<span class="ident">enumerate</span>().<span class="ident">for_each</span>(<span class="op">|</span>(<span class="ident">i</span>, <span class="ident">dst</span>)<span class="op">|</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">dst</span>, <span class="ident">f</span>(<span class="ident">i</span>));
|
||||
|
||||
<span class="kw-2">*</span><span class="ident">position</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
<span class="ident">destination</span>.<span class="ident">into_inner</span>()
|
||||
@ -1155,7 +1233,7 @@
|
||||
<span class="doccomment">/// Length of the slice must be equal to the length of the array.</span>
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">slice</span>: <span class="kw-2">&</span>[<span class="ident">T</span>]) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> {
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">slice</span>.<span class="ident">len</span>(), <span class="ident">N</span>::<span class="ident">to_usize</span>());
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">slice</span>.<span class="ident">len</span>(), <span class="ident">N</span>::<span class="ident">USIZE</span>);
|
||||
|
||||
<span class="kw">unsafe</span> { <span class="kw-2">&</span><span class="kw-2">*</span>(<span class="ident">slice</span>.<span class="ident">as_ptr</span>() <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span>) }
|
||||
}
|
||||
@ -1167,7 +1245,7 @@
|
||||
<span class="doccomment">/// Length of the slice must be equal to the length of the array.</span>
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">slice</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> [<span class="ident">T</span>]) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> {
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">slice</span>.<span class="ident">len</span>(), <span class="ident">N</span>::<span class="ident">to_usize</span>());
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">slice</span>.<span class="ident">len</span>(), <span class="ident">N</span>::<span class="ident">USIZE</span>);
|
||||
|
||||
<span class="kw">unsafe</span> { <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="kw-2">*</span>(<span class="ident">slice</span>.<span class="ident">as_mut_ptr</span>() <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span>) }
|
||||
}
|
||||
@ -1191,34 +1269,39 @@
|
||||
<span class="kw">where</span>
|
||||
<span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>,
|
||||
{
|
||||
<span class="doccomment">/// Creates a new `GenericArray` instance from an iterator with a known exact size.</span>
|
||||
<span class="doccomment">/// Creates a new `GenericArray` instance from an iterator with a specific size.</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// Returns `None` if the size is not equal to the number of elements in the `GenericArray`.</span>
|
||||
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">from_exact_iter</span><span class="op"><</span><span class="ident">I</span><span class="op">></span>(<span class="ident">iter</span>: <span class="ident">I</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="self">Self</span><span class="op">></span>
|
||||
<span class="kw">where</span>
|
||||
<span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op"><</span><span class="ident">Item</span> <span class="op">=</span> <span class="ident">T</span><span class="op">></span>,
|
||||
<span class="op"><</span><span class="ident">I</span> <span class="kw">as</span> <span class="ident">IntoIterator</span><span class="op">></span>::<span class="ident">IntoIter</span>: <span class="ident">ExactSizeIterator</span>,
|
||||
{
|
||||
<span class="kw">let</span> <span class="ident">iter</span> <span class="op">=</span> <span class="ident">iter</span>.<span class="ident">into_iter</span>();
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">iter</span> <span class="op">=</span> <span class="ident">iter</span>.<span class="ident">into_iter</span>();
|
||||
|
||||
<span class="kw">if</span> <span class="ident">iter</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">N</span>::<span class="ident">to_usize</span>() {
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">destination</span> <span class="op">=</span> <span class="ident">ArrayBuilder</span>::<span class="ident">new</span>();
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">destination</span> <span class="op">=</span> <span class="ident">ArrayBuilder</span>::<span class="ident">new</span>();
|
||||
|
||||
{
|
||||
<span class="kw">let</span> (<span class="ident">destination_iter</span>, <span class="ident">position</span>) <span class="op">=</span> <span class="ident">destination</span>.<span class="ident">iter_position</span>();
|
||||
{
|
||||
<span class="kw">let</span> (<span class="ident">destination_iter</span>, <span class="ident">position</span>) <span class="op">=</span> <span class="ident">destination</span>.<span class="ident">iter_position</span>();
|
||||
|
||||
<span class="kw">for</span> (<span class="ident">dst</span>, <span class="ident">src</span>) <span class="kw">in</span> <span class="ident">destination_iter</span>.<span class="ident">zip</span>(<span class="ident">iter</span>.<span class="ident">into_iter</span>()) {
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">dst</span>, <span class="ident">src</span>);
|
||||
<span class="ident">destination_iter</span>.<span class="ident">zip</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">iter</span>).<span class="ident">for_each</span>(<span class="op">|</span>(<span class="ident">dst</span>, <span class="ident">src</span>)<span class="op">|</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">dst</span>, <span class="ident">src</span>);
|
||||
|
||||
<span class="kw-2">*</span><span class="ident">position</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
|
||||
}
|
||||
<span class="kw-2">*</span><span class="ident">position</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
|
||||
});
|
||||
|
||||
<span class="comment">// The iterator produced fewer than `N` elements.</span>
|
||||
<span class="kw">if</span> <span class="kw-2">*</span><span class="ident">position</span> <span class="op">!</span><span class="op">=</span> <span class="ident">N</span>::<span class="ident">USIZE</span> {
|
||||
<span class="kw">return</span> <span class="prelude-val">None</span>;
|
||||
}
|
||||
|
||||
<span class="prelude-val">Some</span>(<span class="ident">destination</span>.<span class="ident">into_inner</span>())
|
||||
<span class="comment">// The iterator produced more than `N` elements.</span>
|
||||
<span class="kw">if</span> <span class="ident">iter</span>.<span class="ident">next</span>().<span class="ident">is_some</span>() {
|
||||
<span class="kw">return</span> <span class="prelude-val">None</span>;
|
||||
}
|
||||
}
|
||||
} <span class="kw">else</span> {
|
||||
<span class="prelude-val">None</span>
|
||||
|
||||
<span class="prelude-val">Some</span>(<span class="ident">destination</span>.<span class="ident">into_inner</span>())
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1228,9 +1311,8 @@
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
|
||||
<span class="kw">pub</span> <span class="kw">unsafe</span> <span class="kw">fn</span> <span class="ident">transmute</span><span class="op"><</span><span class="ident">A</span>, <span class="ident">B</span><span class="op">></span>(<span class="ident">a</span>: <span class="ident">A</span>) <span class="op">-</span><span class="op">></span> <span class="ident">B</span> {
|
||||
<span class="kw">let</span> <span class="ident">b</span> <span class="op">=</span> ::<span class="ident">core</span>::<span class="ident">ptr</span>::<span class="ident">read</span>(<span class="kw-2">&</span><span class="ident">a</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="ident">A</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="ident">B</span>);
|
||||
::<span class="ident">core</span>::<span class="ident">mem</span>::<span class="ident">forget</span>(<span class="ident">a</span>);
|
||||
<span class="ident">b</span>
|
||||
<span class="kw">let</span> <span class="ident">a</span> <span class="op">=</span> <span class="ident">ManuallyDrop</span>::<span class="ident">new</span>(<span class="ident">a</span>);
|
||||
::<span class="ident">core</span>::<span class="ident">ptr</span>::<span class="ident">read</span>(<span class="kw-2">&</span><span class="kw-2">*</span><span class="ident">a</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="ident">A</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="ident">B</span>)
|
||||
}
|
||||
|
||||
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
|
||||
@ -1252,7 +1334,7 @@
|
||||
|
||||
<span class="attribute">#[<span class="ident">test</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">test_assembly</span>() {
|
||||
<span class="kw">use</span> <span class="ident">functional</span>::<span class="kw-2">*</span>;
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">functional</span>::<span class="kw-2">*</span>;
|
||||
|
||||
<span class="kw">let</span> <span class="ident">a</span> <span class="op">=</span> <span class="ident">black_box</span>(<span class="macro">arr</span><span class="macro">!</span>[<span class="ident">i32</span>; <span class="number">1</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">7</span>]);
|
||||
<span class="kw">let</span> <span class="ident">b</span> <span class="op">=</span> <span class="ident">black_box</span>(<span class="macro">arr</span><span class="macro">!</span>[<span class="ident">i32</span>; <span class="number">2</span>, <span class="number">4</span>, <span class="number">6</span>, <span class="number">8</span>]);
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.12.3/src/sequence.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>sequence.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<!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="Source to the Rust file `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/generic-array-0.14.4/src/sequence.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>sequence.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../generic_array/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><span class="help-button">?</span>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
@ -321,12 +321,73 @@
|
||||
<span id="318">318</span>
|
||||
<span id="319">319</span>
|
||||
<span id="320">320</span>
|
||||
<span id="321">321</span>
|
||||
<span id="322">322</span>
|
||||
<span id="323">323</span>
|
||||
<span id="324">324</span>
|
||||
<span id="325">325</span>
|
||||
<span id="326">326</span>
|
||||
<span id="327">327</span>
|
||||
<span id="328">328</span>
|
||||
<span id="329">329</span>
|
||||
<span id="330">330</span>
|
||||
<span id="331">331</span>
|
||||
<span id="332">332</span>
|
||||
<span id="333">333</span>
|
||||
<span id="334">334</span>
|
||||
<span id="335">335</span>
|
||||
<span id="336">336</span>
|
||||
<span id="337">337</span>
|
||||
<span id="338">338</span>
|
||||
<span id="339">339</span>
|
||||
<span id="340">340</span>
|
||||
<span id="341">341</span>
|
||||
<span id="342">342</span>
|
||||
<span id="343">343</span>
|
||||
<span id="344">344</span>
|
||||
<span id="345">345</span>
|
||||
<span id="346">346</span>
|
||||
<span id="347">347</span>
|
||||
<span id="348">348</span>
|
||||
<span id="349">349</span>
|
||||
<span id="350">350</span>
|
||||
<span id="351">351</span>
|
||||
<span id="352">352</span>
|
||||
<span id="353">353</span>
|
||||
<span id="354">354</span>
|
||||
<span id="355">355</span>
|
||||
<span id="356">356</span>
|
||||
<span id="357">357</span>
|
||||
<span id="358">358</span>
|
||||
<span id="359">359</span>
|
||||
<span id="360">360</span>
|
||||
<span id="361">361</span>
|
||||
<span id="362">362</span>
|
||||
<span id="363">363</span>
|
||||
<span id="364">364</span>
|
||||
<span id="365">365</span>
|
||||
<span id="366">366</span>
|
||||
<span id="367">367</span>
|
||||
<span id="368">368</span>
|
||||
<span id="369">369</span>
|
||||
<span id="370">370</span>
|
||||
<span id="371">371</span>
|
||||
<span id="372">372</span>
|
||||
<span id="373">373</span>
|
||||
<span id="374">374</span>
|
||||
<span id="375">375</span>
|
||||
<span id="376">376</span>
|
||||
<span id="377">377</span>
|
||||
<span id="378">378</span>
|
||||
<span id="379">379</span>
|
||||
<span id="380">380</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="doccomment">//! Useful traits for manipulating sequences of data stored in `GenericArray`s</span>
|
||||
|
||||
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::{<span class="ident">mem</span>, <span class="ident">ptr</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">ops</span>::{<span class="ident">Add</span>, <span class="ident">Sub</span>};
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">mem</span>::<span class="ident">MaybeUninit</span>;
|
||||
<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">ptr</span>;
|
||||
<span class="kw">use</span> <span class="ident">typenum</span>::<span class="ident">operator_aliases</span>::<span class="kw-2">*</span>;
|
||||
|
||||
<span class="doccomment">/// Defines some sequence with an associated length and iteration capabilities.</span>
|
||||
@ -365,17 +426,15 @@
|
||||
|
||||
<span class="kw">let</span> (<span class="ident">left_array_iter</span>, <span class="ident">left_position</span>) <span class="op">=</span> <span class="ident">left</span>.<span class="ident">iter_position</span>();
|
||||
|
||||
<span class="ident">FromIterator</span>::<span class="ident">from_iter</span>(
|
||||
<span class="ident">left_array_iter</span>
|
||||
.<span class="ident">zip</span>(<span class="self">self</span>.<span class="ident">into_iter</span>())
|
||||
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">l</span>, <span class="ident">right_value</span>)<span class="op">|</span> {
|
||||
<span class="ident">FromIterator</span>::<span class="ident">from_iter</span>(<span class="ident">left_array_iter</span>.<span class="ident">zip</span>(<span class="self">self</span>.<span class="ident">into_iter</span>()).<span class="ident">map</span>(
|
||||
<span class="op">|</span>(<span class="ident">l</span>, <span class="ident">right_value</span>)<span class="op">|</span> {
|
||||
<span class="kw">let</span> <span class="ident">left_value</span> <span class="op">=</span> <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">l</span>);
|
||||
|
||||
<span class="kw-2">*</span><span class="ident">left_position</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
|
||||
|
||||
<span class="ident">f</span>(<span class="ident">left_value</span>, <span class="ident">right_value</span>)
|
||||
})
|
||||
)
|
||||
},
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
@ -441,12 +500,15 @@
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// Example:</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// ```ignore</span>
|
||||
<span class="doccomment">/// ```rust</span>
|
||||
<span class="doccomment">/// # use generic_array::{arr, sequence::Lengthen};</span>
|
||||
<span class="doccomment">/// # fn main() {</span>
|
||||
<span class="doccomment">/// let a = arr![i32; 1, 2, 3];</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// let b = a.append(4);</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// assert_eq!(b, arr![i32; 1, 2, 3, 4]);</span>
|
||||
<span class="doccomment">/// # }</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="kw">fn</span> <span class="ident">append</span>(<span class="self">self</span>, <span class="ident">last</span>: <span class="ident">T</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">Longer</span>;
|
||||
|
||||
@ -454,12 +516,15 @@
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// Example:</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// ```ignore</span>
|
||||
<span class="doccomment">/// ```rust</span>
|
||||
<span class="doccomment">/// # use generic_array::{arr, sequence::Lengthen};</span>
|
||||
<span class="doccomment">/// # fn main() {</span>
|
||||
<span class="doccomment">/// let a = arr![i32; 1, 2, 3];</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// let b = a.prepend(4);</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// assert_eq!(b, arr![i32; 4, 1, 2, 3]);</span>
|
||||
<span class="doccomment">/// # }</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="kw">fn</span> <span class="ident">prepend</span>(<span class="self">self</span>, <span class="ident">first</span>: <span class="ident">T</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">Longer</span>;
|
||||
}
|
||||
@ -476,26 +541,32 @@
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// Example:</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// ```ignore</span>
|
||||
<span class="doccomment">/// ```rust</span>
|
||||
<span class="doccomment">/// # use generic_array::{arr, sequence::Shorten};</span>
|
||||
<span class="doccomment">/// # fn main() {</span>
|
||||
<span class="doccomment">/// let a = arr![i32; 1, 2, 3, 4];</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// let (init, last) = a.pop_back();</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// assert_eq!(init, arr![i32; 1, 2, 3]);</span>
|
||||
<span class="doccomment">/// assert_eq!(last, 4);</span>
|
||||
<span class="doccomment">/// # }</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="kw">fn</span> <span class="ident">pop_back</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> (<span class="self">Self</span>::<span class="ident">Shorter</span>, <span class="ident">T</span>);
|
||||
|
||||
<span class="doccomment">/// Returns a new array without the first element, and the first element.</span>
|
||||
<span class="doccomment">/// Example:</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// ```ignore</span>
|
||||
<span class="doccomment">/// ```rust</span>
|
||||
<span class="doccomment">/// # use generic_array::{arr, sequence::Shorten};</span>
|
||||
<span class="doccomment">/// # fn main() {</span>
|
||||
<span class="doccomment">/// let a = arr![i32; 1, 2, 3, 4];</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// let (head, tail) = a.pop_front();</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// assert_eq!(head, 1);</span>
|
||||
<span class="doccomment">/// assert_eq!(tail, arr![i32; 2, 3, 4]);</span>
|
||||
<span class="doccomment">/// # }</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="kw">fn</span> <span class="ident">pop_front</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> (<span class="ident">T</span>, <span class="self">Self</span>::<span class="ident">Shorter</span>);
|
||||
}
|
||||
@ -510,27 +581,35 @@
|
||||
<span class="kw">type</span> <span class="ident">Longer</span> <span class="op">=</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">Add1</span><span class="op"><</span><span class="ident">N</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">append</span>(<span class="self">self</span>, <span class="ident">last</span>: <span class="ident">T</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">Longer</span> {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">longer</span>: <span class="self">Self</span>::<span class="ident">Longer</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">mem</span>::<span class="ident">uninitialized</span>() };
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">longer</span>: <span class="ident">MaybeUninit</span><span class="op"><</span><span class="self">Self</span>::<span class="ident">Longer</span><span class="op">></span> <span class="op">=</span> <span class="ident">MaybeUninit</span>::<span class="ident">uninit</span>();
|
||||
|
||||
<span class="comment">// Note this is *mut Self, so add(1) increments by the whole array</span>
|
||||
<span class="kw">let</span> <span class="ident">out_ptr</span> <span class="op">=</span> <span class="ident">longer</span>.<span class="ident">as_mut_ptr</span>() <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="self">Self</span>;
|
||||
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">longer</span>.<span class="ident">as_mut_ptr</span>() <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="kw">_</span>, <span class="self">self</span>);
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">longer</span>[<span class="ident">N</span>::<span class="ident">to_usize</span>()], <span class="ident">last</span>);
|
||||
}
|
||||
<span class="comment">// write self first</span>
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">out_ptr</span>, <span class="self">self</span>);
|
||||
<span class="comment">// increment past self, then write the last</span>
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">out_ptr</span>.<span class="ident">add</span>(<span class="number">1</span>) <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="ident">T</span>, <span class="ident">last</span>);
|
||||
|
||||
<span class="ident">longer</span>
|
||||
<span class="ident">longer</span>.<span class="ident">assume_init</span>()
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">prepend</span>(<span class="self">self</span>, <span class="ident">first</span>: <span class="ident">T</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">Longer</span> {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">longer</span>: <span class="self">Self</span>::<span class="ident">Longer</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">mem</span>::<span class="ident">uninitialized</span>() };
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">longer</span>: <span class="ident">MaybeUninit</span><span class="op"><</span><span class="self">Self</span>::<span class="ident">Longer</span><span class="op">></span> <span class="op">=</span> <span class="ident">MaybeUninit</span>::<span class="ident">uninit</span>();
|
||||
|
||||
<span class="kw">let</span> <span class="ident">longer_ptr</span> <span class="op">=</span> <span class="ident">longer</span>.<span class="ident">as_mut_ptr</span>();
|
||||
<span class="comment">// Note this is *mut T, so add(1) increments by a single T</span>
|
||||
<span class="kw">let</span> <span class="ident">out_ptr</span> <span class="op">=</span> <span class="ident">longer</span>.<span class="ident">as_mut_ptr</span>() <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="ident">T</span>;
|
||||
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">longer_ptr</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="kw">_</span>, <span class="ident">first</span>);
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">longer_ptr</span>.<span class="ident">offset</span>(<span class="number">1</span>) <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="kw">_</span>, <span class="self">self</span>);
|
||||
}
|
||||
<span class="comment">// write the first at the start</span>
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">out_ptr</span>, <span class="ident">first</span>);
|
||||
<span class="comment">// increment past the first, then write self</span>
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">out_ptr</span>.<span class="ident">add</span>(<span class="number">1</span>) <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="self">Self</span>, <span class="self">self</span>);
|
||||
|
||||
<span class="ident">longer</span>
|
||||
<span class="ident">longer</span>.<span class="ident">assume_init</span>()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -544,27 +623,26 @@
|
||||
<span class="kw">type</span> <span class="ident">Shorter</span> <span class="op">=</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">Sub1</span><span class="op"><</span><span class="ident">N</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">pop_back</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> (<span class="self">Self</span>::<span class="ident">Shorter</span>, <span class="ident">T</span>) {
|
||||
<span class="kw">let</span> <span class="ident">init_ptr</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">as_ptr</span>();
|
||||
<span class="kw">let</span> <span class="ident">last_ptr</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">init_ptr</span>.<span class="ident">offset</span>(<span class="ident">Sub1</span>::<span class="op"><</span><span class="ident">N</span><span class="op">></span>::<span class="ident">to_usize</span>() <span class="kw">as</span> <span class="ident">isize</span>) };
|
||||
<span class="kw">let</span> <span class="ident">whole</span> <span class="op">=</span> <span class="ident">ManuallyDrop</span>::<span class="ident">new</span>(<span class="self">self</span>);
|
||||
|
||||
<span class="kw">let</span> <span class="ident">init</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">init_ptr</span> <span class="kw">as</span> <span class="kw">_</span>) };
|
||||
<span class="kw">let</span> <span class="ident">last</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">last_ptr</span> <span class="kw">as</span> <span class="kw">_</span>) };
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="kw">let</span> <span class="ident">init</span> <span class="op">=</span> <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">whole</span>.<span class="ident">as_ptr</span>() <span class="kw">as</span> <span class="kw">_</span>);
|
||||
<span class="kw">let</span> <span class="ident">last</span> <span class="op">=</span> <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">whole</span>.<span class="ident">as_ptr</span>().<span class="ident">add</span>(<span class="ident">Sub1</span>::<span class="op"><</span><span class="ident">N</span><span class="op">></span>::<span class="ident">USIZE</span>) <span class="kw">as</span> <span class="kw">_</span>);
|
||||
|
||||
<span class="ident">mem</span>::<span class="ident">forget</span>(<span class="self">self</span>);
|
||||
|
||||
(<span class="ident">init</span>, <span class="ident">last</span>)
|
||||
(<span class="ident">init</span>, <span class="ident">last</span>)
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">pop_front</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> (<span class="ident">T</span>, <span class="self">Self</span>::<span class="ident">Shorter</span>) {
|
||||
<span class="kw">let</span> <span class="ident">head_ptr</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">as_ptr</span>();
|
||||
<span class="kw">let</span> <span class="ident">tail_ptr</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">head_ptr</span>.<span class="ident">offset</span>(<span class="number">1</span>) };
|
||||
<span class="comment">// ensure this doesn't get dropped</span>
|
||||
<span class="kw">let</span> <span class="ident">whole</span> <span class="op">=</span> <span class="ident">ManuallyDrop</span>::<span class="ident">new</span>(<span class="self">self</span>);
|
||||
|
||||
<span class="kw">let</span> <span class="ident">head</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">head_ptr</span> <span class="kw">as</span> <span class="kw">_</span>) };
|
||||
<span class="kw">let</span> <span class="ident">tail</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">tail_ptr</span> <span class="kw">as</span> <span class="kw">_</span>) };
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="kw">let</span> <span class="ident">head</span> <span class="op">=</span> <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">whole</span>.<span class="ident">as_ptr</span>() <span class="kw">as</span> <span class="kw">_</span>);
|
||||
<span class="kw">let</span> <span class="ident">tail</span> <span class="op">=</span> <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">whole</span>.<span class="ident">as_ptr</span>().<span class="ident">offset</span>(<span class="number">1</span>) <span class="kw">as</span> <span class="kw">_</span>);
|
||||
|
||||
<span class="ident">mem</span>::<span class="ident">forget</span>(<span class="self">self</span>);
|
||||
|
||||
(<span class="ident">head</span>, <span class="ident">tail</span>)
|
||||
(<span class="ident">head</span>, <span class="ident">tail</span>)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -593,15 +671,55 @@
|
||||
<span class="kw">type</span> <span class="ident">Second</span> <span class="op">=</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">Diff</span><span class="op"><</span><span class="ident">N</span>, <span class="ident">K</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">split</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> (<span class="self">Self</span>::<span class="ident">First</span>, <span class="self">Self</span>::<span class="ident">Second</span>) {
|
||||
<span class="kw">let</span> <span class="ident">head_ptr</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">as_ptr</span>();
|
||||
<span class="kw">let</span> <span class="ident">tail_ptr</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">head_ptr</span>.<span class="ident">offset</span>(<span class="ident">K</span>::<span class="ident">to_usize</span>() <span class="kw">as</span> <span class="ident">isize</span>) };
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="comment">// ensure this doesn't get dropped</span>
|
||||
<span class="kw">let</span> <span class="ident">whole</span> <span class="op">=</span> <span class="ident">ManuallyDrop</span>::<span class="ident">new</span>(<span class="self">self</span>);
|
||||
|
||||
<span class="kw">let</span> <span class="ident">head</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">head_ptr</span> <span class="kw">as</span> <span class="kw">_</span>) };
|
||||
<span class="kw">let</span> <span class="ident">tail</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">tail_ptr</span> <span class="kw">as</span> <span class="kw">_</span>) };
|
||||
<span class="kw">let</span> <span class="ident">head</span> <span class="op">=</span> <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">whole</span>.<span class="ident">as_ptr</span>() <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="kw">_</span>);
|
||||
<span class="kw">let</span> <span class="ident">tail</span> <span class="op">=</span> <span class="ident">ptr</span>::<span class="ident">read</span>(<span class="ident">whole</span>.<span class="ident">as_ptr</span>().<span class="ident">add</span>(<span class="ident">K</span>::<span class="ident">USIZE</span>) <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="kw">_</span>);
|
||||
|
||||
<span class="ident">mem</span>::<span class="ident">forget</span>(<span class="self">self</span>);
|
||||
(<span class="ident">head</span>, <span class="ident">tail</span>)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
(<span class="ident">head</span>, <span class="ident">tail</span>)
|
||||
<span class="kw">unsafe</span> <span class="kw">impl</span><span class="op"><</span><span class="lifetime">'a</span>, <span class="ident">T</span>, <span class="ident">N</span>, <span class="ident">K</span><span class="op">></span> <span class="ident">Split</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">K</span><span class="op">></span> <span class="kw">for</span> <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span>
|
||||
<span class="kw">where</span>
|
||||
<span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>,
|
||||
<span class="ident">K</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="op">+</span> <span class="lifetime">'static</span>,
|
||||
<span class="ident">N</span>: <span class="ident">Sub</span><span class="op"><</span><span class="ident">K</span><span class="op">></span>,
|
||||
<span class="ident">Diff</span><span class="op"><</span><span class="ident">N</span>, <span class="ident">K</span><span class="op">></span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>,
|
||||
{
|
||||
<span class="kw">type</span> <span class="ident">First</span> <span class="op">=</span> <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">K</span><span class="op">></span>;
|
||||
<span class="kw">type</span> <span class="ident">Second</span> <span class="op">=</span> <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">Diff</span><span class="op"><</span><span class="ident">N</span>, <span class="ident">K</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">split</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> (<span class="self">Self</span>::<span class="ident">First</span>, <span class="self">Self</span>::<span class="ident">Second</span>) {
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="kw">let</span> <span class="ident">ptr_to_first</span>: <span class="kw-2">*</span><span class="kw">const</span> <span class="ident">T</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">as_ptr</span>();
|
||||
<span class="kw">let</span> <span class="ident">head</span> <span class="op">=</span> <span class="kw-2">&</span><span class="kw-2">*</span>(<span class="ident">ptr_to_first</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="kw">_</span>);
|
||||
<span class="kw">let</span> <span class="ident">tail</span> <span class="op">=</span> <span class="kw-2">&</span><span class="kw-2">*</span>(<span class="ident">ptr_to_first</span>.<span class="ident">add</span>(<span class="ident">K</span>::<span class="ident">USIZE</span>) <span class="kw">as</span> <span class="kw-2">*</span><span class="kw">const</span> <span class="kw">_</span>);
|
||||
(<span class="ident">head</span>, <span class="ident">tail</span>)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">unsafe</span> <span class="kw">impl</span><span class="op"><</span><span class="lifetime">'a</span>, <span class="ident">T</span>, <span class="ident">N</span>, <span class="ident">K</span><span class="op">></span> <span class="ident">Split</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">K</span><span class="op">></span> <span class="kw">for</span> <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="kw-2">mut</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span>
|
||||
<span class="kw">where</span>
|
||||
<span class="ident">N</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>,
|
||||
<span class="ident">K</span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="op">+</span> <span class="lifetime">'static</span>,
|
||||
<span class="ident">N</span>: <span class="ident">Sub</span><span class="op"><</span><span class="ident">K</span><span class="op">></span>,
|
||||
<span class="ident">Diff</span><span class="op"><</span><span class="ident">N</span>, <span class="ident">K</span><span class="op">></span>: <span class="ident">ArrayLength</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>,
|
||||
{
|
||||
<span class="kw">type</span> <span class="ident">First</span> <span class="op">=</span> <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="kw-2">mut</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">K</span><span class="op">></span>;
|
||||
<span class="kw">type</span> <span class="ident">Second</span> <span class="op">=</span> <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="kw-2">mut</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">Diff</span><span class="op"><</span><span class="ident">N</span>, <span class="ident">K</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">split</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> (<span class="self">Self</span>::<span class="ident">First</span>, <span class="self">Self</span>::<span class="ident">Second</span>) {
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="kw">let</span> <span class="ident">ptr_to_first</span>: <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="ident">T</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">as_mut_ptr</span>();
|
||||
<span class="kw">let</span> <span class="ident">head</span> <span class="op">=</span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="kw-2">*</span>(<span class="ident">ptr_to_first</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="kw">_</span>);
|
||||
<span class="kw">let</span> <span class="ident">tail</span> <span class="op">=</span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="kw-2">*</span>(<span class="ident">ptr_to_first</span>.<span class="ident">add</span>(<span class="ident">K</span>::<span class="ident">USIZE</span>) <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="kw">_</span>);
|
||||
(<span class="ident">head</span>, <span class="ident">tail</span>)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -630,16 +748,18 @@
|
||||
<span class="kw">type</span> <span class="ident">Output</span> <span class="op">=</span> <span class="ident">GenericArray</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">Sum</span><span class="op"><</span><span class="ident">N</span>, <span class="ident">M</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">concat</span>(<span class="self">self</span>, <span class="ident">rest</span>: <span class="self">Self</span>::<span class="ident">Rest</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">Output</span> {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">output</span>: <span class="self">Self</span>::<span class="ident">Output</span> <span class="op">=</span> <span class="kw">unsafe</span> { <span class="ident">mem</span>::<span class="ident">uninitialized</span>() };
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">output</span>: <span class="ident">MaybeUninit</span><span class="op"><</span><span class="self">Self</span>::<span class="ident">Output</span><span class="op">></span> <span class="op">=</span> <span class="ident">MaybeUninit</span>::<span class="ident">uninit</span>();
|
||||
|
||||
<span class="kw">let</span> <span class="ident">output_ptr</span> <span class="op">=</span> <span class="ident">output</span>.<span class="ident">as_mut_ptr</span>();
|
||||
<span class="kw">let</span> <span class="ident">out_ptr</span> <span class="op">=</span> <span class="ident">output</span>.<span class="ident">as_mut_ptr</span>() <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="self">Self</span>;
|
||||
|
||||
<span class="kw">unsafe</span> {
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">output_ptr</span> <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="kw">_</span>, <span class="self">self</span>);
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">output_ptr</span>.<span class="ident">offset</span>(<span class="ident">N</span>::<span class="ident">to_usize</span>() <span class="kw">as</span> <span class="ident">isize</span>) <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="kw">_</span>, <span class="ident">rest</span>);
|
||||
}
|
||||
<span class="comment">// write all of self to the pointer</span>
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">out_ptr</span>, <span class="self">self</span>);
|
||||
<span class="comment">// increment past self, then write the rest</span>
|
||||
<span class="ident">ptr</span>::<span class="ident">write</span>(<span class="ident">out_ptr</span>.<span class="ident">add</span>(<span class="number">1</span>) <span class="kw">as</span> <span class="kw-2">*</span><span class="kw-2">mut</span> <span class="kw">_</span>, <span class="ident">rest</span>);
|
||||
|
||||
<span class="ident">output</span>
|
||||
<span class="ident">output</span>.<span class="ident">assume_init</span>()
|
||||
}
|
||||
}
|
||||
}
|
||||
</pre></div>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -637,6 +637,44 @@
|
||||
<span id="634">634</span>
|
||||
<span id="635">635</span>
|
||||
<span id="636">636</span>
|
||||
<span id="637">637</span>
|
||||
<span id="638">638</span>
|
||||
<span id="639">639</span>
|
||||
<span id="640">640</span>
|
||||
<span id="641">641</span>
|
||||
<span id="642">642</span>
|
||||
<span id="643">643</span>
|
||||
<span id="644">644</span>
|
||||
<span id="645">645</span>
|
||||
<span id="646">646</span>
|
||||
<span id="647">647</span>
|
||||
<span id="648">648</span>
|
||||
<span id="649">649</span>
|
||||
<span id="650">650</span>
|
||||
<span id="651">651</span>
|
||||
<span id="652">652</span>
|
||||
<span id="653">653</span>
|
||||
<span id="654">654</span>
|
||||
<span id="655">655</span>
|
||||
<span id="656">656</span>
|
||||
<span id="657">657</span>
|
||||
<span id="658">658</span>
|
||||
<span id="659">659</span>
|
||||
<span id="660">660</span>
|
||||
<span id="661">661</span>
|
||||
<span id="662">662</span>
|
||||
<span id="663">663</span>
|
||||
<span id="664">664</span>
|
||||
<span id="665">665</span>
|
||||
<span id="666">666</span>
|
||||
<span id="667">667</span>
|
||||
<span id="668">668</span>
|
||||
<span id="669">669</span>
|
||||
<span id="670">670</span>
|
||||
<span id="671">671</span>
|
||||
<span id="672">672</span>
|
||||
<span id="673">673</span>
|
||||
<span id="674">674</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="kw">use</span> <span class="ident">core</span>::{<span class="ident">borrow</span>::<span class="ident">Borrow</span>, <span class="ident">fmt</span>, <span class="ident">iter</span>::<span class="ident">FromIterator</span>};
|
||||
|
||||
@ -645,14 +683,52 @@
|
||||
|
||||
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">indexmap</span>::{<span class="self">self</span>, <span class="ident">Bucket</span>, <span class="ident">IndexMap</span>, <span class="ident">Pos</span>};
|
||||
|
||||
<span class="doccomment">/// An `IndexSet` using the default FNV hasher</span>
|
||||
<span class="doccomment">/// A [`heapless::IndexSet`](./struct.IndexSet.html) using the</span>
|
||||
<span class="doccomment">/// default FNV hasher.</span>
|
||||
<span class="doccomment">/// A list of all Methods and Traits available for `FnvIndexSet` can be found in</span>
|
||||
<span class="doccomment">/// the [`heapless::IndexSet`](./struct.IndexSet.html) documentation.</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// # Examples</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="doccomment">/// use heapless::FnvIndexSet;</span>
|
||||
<span class="doccomment">/// use heapless::consts::*;</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// // A hash set with a capacity of 16 elements allocated on the stack</span>
|
||||
<span class="doccomment">/// let mut books = FnvIndexSet::<_, U16>::new();</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// // Add some books.</span>
|
||||
<span class="doccomment">/// books.insert("A Dance With Dragons").unwrap();</span>
|
||||
<span class="doccomment">/// books.insert("To Kill a Mockingbird").unwrap();</span>
|
||||
<span class="doccomment">/// books.insert("The Odyssey").unwrap();</span>
|
||||
<span class="doccomment">/// books.insert("The Great Gatsby").unwrap();</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// // Check for a specific one.</span>
|
||||
<span class="doccomment">/// if !books.contains("The Winds of Winter") {</span>
|
||||
<span class="doccomment">/// println!("We have {} books, but The Winds of Winter ain't one.",</span>
|
||||
<span class="doccomment">/// books.len());</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// // Remove a book.</span>
|
||||
<span class="doccomment">/// books.remove("The Odyssey");</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// // Iterate over everything.</span>
|
||||
<span class="doccomment">/// for book in &books {</span>
|
||||
<span class="doccomment">/// println!("{}", book);</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="kw">pub</span> <span class="kw">type</span> <span class="ident">FnvIndexSet</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span><span class="op">></span> <span class="op">=</span> <span class="ident">IndexSet</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">N</span>, <span class="ident">BuildHasherDefault</span><span class="op"><</span><span class="ident">FnvHasher</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="doccomment">/// Fixed capacity [`IndexSet`](https://docs.rs/indexmap/1/indexmap/set/struct.IndexSet.html)</span>
|
||||
<span class="doccomment">/// Fixed capacity [`IndexSet`](https://docs.rs/indexmap/1/indexmap/set/struct.IndexSet.html).</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// Note that you cannot use `IndexSet` directly, since it is generic around the hashing algorithm</span>
|
||||
<span class="doccomment">/// in use. Pick a concrete instantiation like [`FnvIndexSet`](./type.FnvIndexSet.html) instead</span>
|
||||
<span class="doccomment">/// or create your own.</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// Note that the capacity of the `IndexSet` must be a power of 2.</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// # Examples</span>
|
||||
<span class="doccomment">/// Since `IndexSet` cannot be used directly, we're using its `FnvIndexSet` instantiation</span>
|
||||
<span class="doccomment">/// for this example.</span>
|
||||
<span class="doccomment">///</span>
|
||||
<span class="doccomment">/// ```</span>
|
||||
<span class="doccomment">/// use heapless::FnvIndexSet;</span>
|
||||
|
Loading…
x
Reference in New Issue
Block a user