Compare commits
No commits in common. "master" and "gh-pages" have entirely different histories.
21966 changed files with 1887440 additions and 276233 deletions
|
@ -1,3 +0,0 @@
|
||||||
[alias]
|
|
||||||
cli = ["run", "--release", "-p", "mentat_cli"]
|
|
||||||
debugcli = ["run", "-p", "mentat_cli"]
|
|
3
.github/FUNDING.yml
vendored
3
.github/FUNDING.yml
vendored
|
@ -1,3 +0,0 @@
|
||||||
liberapay: svartalf
|
|
||||||
patreon: svartalf
|
|
||||||
custom: ["https://svartalf.info/donate/", "https://www.buymeacoffee.com/svartalf"]
|
|
11
.github/dependabot.yml
vendored
11
.github/dependabot.yml
vendored
|
@ -1,11 +0,0 @@
|
||||||
# To get started with Dependabot version updates, you'll need to specify which
|
|
||||||
# package ecosystems to update and where the package manifests are located.
|
|
||||||
# Please see the documentation for all configuration options:
|
|
||||||
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
||||||
|
|
||||||
version: 2
|
|
||||||
updates:
|
|
||||||
- package-ecosystem: "cargo" # See documentation for possible values
|
|
||||||
directory: "/" # Location of package manifests
|
|
||||||
schedule:
|
|
||||||
interval: "daily"
|
|
20
.github/workflows/audit.yml
vendored
20
.github/workflows/audit.yml
vendored
|
@ -1,20 +0,0 @@
|
||||||
name: Security audit
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: '0 0 1 * *'
|
|
||||||
push:
|
|
||||||
paths:
|
|
||||||
- '**/Cargo.toml'
|
|
||||||
- '**/Cargo.lock'
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
audit:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions-rs/audit-check@issue-104
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
13
.github/workflows/clippy-ng.yml
vendored
13
.github/workflows/clippy-ng.yml
vendored
|
@ -1,13 +0,0 @@
|
||||||
on: [push, pull_request]
|
|
||||||
name: Clippy (new version test, don't use it!)
|
|
||||||
jobs:
|
|
||||||
clippy_check_ng:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: nightly
|
|
||||||
components: clippy
|
|
||||||
override: true
|
|
||||||
- uses: actions-rs/clippy@master
|
|
16
.github/workflows/clippy_check.yml
vendored
16
.github/workflows/clippy_check.yml
vendored
|
@ -1,16 +0,0 @@
|
||||||
on: [push, pull_request]
|
|
||||||
name: Clippy check
|
|
||||||
jobs:
|
|
||||||
clippy_check:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: nightly
|
|
||||||
components: clippy
|
|
||||||
override: true
|
|
||||||
- uses: actions-rs/clippy-check@v1
|
|
||||||
with:
|
|
||||||
args: --all-targets --all-features -- -D warnings
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
28
.github/workflows/cross_compile.yml
vendored
28
.github/workflows/cross_compile.yml
vendored
|
@ -1,28 +0,0 @@
|
||||||
# We could use `@actions-rs/cargo` Action ability to automatically install `cross` tool
|
|
||||||
# in order to compile our application for some unusual targets.
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
name: Cross-compile
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: Build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
target:
|
|
||||||
- armv7-unknown-linux-gnueabihf
|
|
||||||
- powerpc64-unknown-linux-gnu
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
target: ${{ matrix.target }}
|
|
||||||
override: true
|
|
||||||
- uses: actions-rs/cargo@v1
|
|
||||||
with:
|
|
||||||
use-cross: true
|
|
||||||
command: build
|
|
||||||
args: --release --target=${{ matrix.target }}
|
|
66
.github/workflows/grcov.yml
vendored
66
.github/workflows/grcov.yml
vendored
|
@ -1,66 +0,0 @@
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
name: Code coverage with grcov
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
grcov:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os:
|
|
||||||
- ubuntu-latest
|
|
||||||
- macOS-latest
|
|
||||||
# - windows-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install toolchain
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: nightly
|
|
||||||
override: true
|
|
||||||
profile: minimal
|
|
||||||
|
|
||||||
- name: Execute tests
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
with:
|
|
||||||
command: test
|
|
||||||
args: --all
|
|
||||||
env:
|
|
||||||
CARGO_INCREMENTAL: 0
|
|
||||||
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests"
|
|
||||||
|
|
||||||
# Note that `actions-rs/grcov` Action can install `grcov` too,
|
|
||||||
# but can't use faster installation methods yet.
|
|
||||||
# As a temporary experiment `actions-rs/install` Action plugged in here.
|
|
||||||
# Consider **NOT** to copy that into your workflow,
|
|
||||||
# but use `actions-rs/grcov` only
|
|
||||||
- name: Pre-installing grcov
|
|
||||||
uses: actions-rs/install@v0.1
|
|
||||||
with:
|
|
||||||
crate: grcov
|
|
||||||
use-tool-cache: true
|
|
||||||
|
|
||||||
- name: Gather coverage data
|
|
||||||
id: coverage
|
|
||||||
uses: actions-rs/grcov@v0.1
|
|
||||||
with:
|
|
||||||
coveralls-token: ${{ secrets.COVERALLS_TOKEN }}
|
|
||||||
|
|
||||||
- name: Coveralls upload
|
|
||||||
uses: coverallsapp/github-action@master
|
|
||||||
with:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
parallel: true
|
|
||||||
path-to-lcov: ${{ steps.coverage.outputs.report }}
|
|
||||||
|
|
||||||
grcov_finalize:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: grcov
|
|
||||||
steps:
|
|
||||||
- name: Coveralls finalization
|
|
||||||
uses: coverallsapp/github-action@master
|
|
||||||
with:
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
parallel-finished: true
|
|
110
.github/workflows/msrv.yml
vendored
110
.github/workflows/msrv.yml
vendored
|
@ -1,110 +0,0 @@
|
||||||
# Based on https://github.com/actions-rs/meta/blob/master/recipes/msrv.md
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
name: MSRV
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check:
|
|
||||||
name: Check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
rust:
|
|
||||||
- stable
|
|
||||||
- 1.31.0
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install toolchain
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: ${{ matrix.rust }}
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Run cargo check
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: check
|
|
||||||
|
|
||||||
test:
|
|
||||||
name: Test Suite
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
rust:
|
|
||||||
- stable
|
|
||||||
- 1.31.0
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install toolchain
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: ${{ matrix.rust }}
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Run cargo test
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: test
|
|
||||||
|
|
||||||
fmt:
|
|
||||||
name: Rustfmt
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
rust:
|
|
||||||
- stable
|
|
||||||
- 1.31.0
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install toolchain
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: ${{ matrix.rust }}
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Install rustfmt
|
|
||||||
run: rustup component add rustfmt
|
|
||||||
|
|
||||||
- name: Run cargo fmt
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: fmt
|
|
||||||
args: --all -- --check
|
|
||||||
|
|
||||||
clippy:
|
|
||||||
name: Clippy
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
rust:
|
|
||||||
- stable
|
|
||||||
- 1.31.0
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install toolchain
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: ${{ matrix.rust }}
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Install clippy
|
|
||||||
run: rustup component add clippy
|
|
||||||
|
|
||||||
- name: Run cargo clippy
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: clippy
|
|
||||||
args: -- -D warnings
|
|
78
.github/workflows/nightly_lints.yml
vendored
78
.github/workflows/nightly_lints.yml
vendored
|
@ -1,78 +0,0 @@
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
name: Nightly lints
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
clippy:
|
|
||||||
name: Clippy
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install nightly toolchain with clippy available
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
toolchain: nightly
|
|
||||||
override: true
|
|
||||||
components: clippy
|
|
||||||
|
|
||||||
- name: Run cargo clippy
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: clippy
|
|
||||||
args: -- -D warnings
|
|
||||||
|
|
||||||
rustfmt:
|
|
||||||
name: Format
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install nightly toolchain with rustfmt available
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
toolchain: nightly
|
|
||||||
override: true
|
|
||||||
components: rustfmt
|
|
||||||
|
|
||||||
- name: Run cargo fmt
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: fmt
|
|
||||||
args: --all -- --check
|
|
||||||
|
|
||||||
combo:
|
|
||||||
name: Clippy + rustfmt
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install nightly toolchain
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
toolchain: nightly
|
|
||||||
override: true
|
|
||||||
components: rustfmt, clippy
|
|
||||||
|
|
||||||
- name: Run cargo fmt
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: fmt
|
|
||||||
args: --all -- --check
|
|
||||||
|
|
||||||
- name: Run cargo clippy
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: clippy
|
|
||||||
args: -- -D warnings
|
|
||||||
|
|
79
.github/workflows/quickstart.yml
vendored
79
.github/workflows/quickstart.yml
vendored
|
@ -1,79 +0,0 @@
|
||||||
# Based on https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md
|
|
||||||
#
|
|
||||||
# While our "example" application has the platform-specific code,
|
|
||||||
# for simplicity we are compiling and testing everything on the Ubuntu environment only.
|
|
||||||
# For multi-OS testing see the `cross.yml` workflow.
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
name: Quickstart
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check:
|
|
||||||
name: Check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Run cargo check
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: check
|
|
||||||
|
|
||||||
test:
|
|
||||||
name: Test Suite
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Run cargo test
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: test
|
|
||||||
|
|
||||||
lints:
|
|
||||||
name: Lints
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
components: rustfmt, clippy
|
|
||||||
|
|
||||||
- name: Run cargo fmt
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: fmt
|
|
||||||
args: --all -- --check
|
|
||||||
|
|
||||||
- name: Run cargo clippy
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
continue-on-error: true # WARNING: only for this example, remove it!
|
|
||||||
with:
|
|
||||||
command: clippy
|
|
||||||
args: -- -D warnings
|
|
96
.gitignore
vendored
96
.gitignore
vendored
|
@ -1,96 +0,0 @@
|
||||||
*.class
|
|
||||||
*.DS_Store
|
|
||||||
*.jar
|
|
||||||
*jar
|
|
||||||
*~
|
|
||||||
**/*.rs.bk
|
|
||||||
.s*
|
|
||||||
.*.sw*
|
|
||||||
*.rs.bak
|
|
||||||
*.bak
|
|
||||||
.hg/
|
|
||||||
.hgignore
|
|
||||||
.lein-deps-sum
|
|
||||||
.lein-failures
|
|
||||||
.lein-plugins/
|
|
||||||
.lein-repl-history
|
|
||||||
.nrepl-port
|
|
||||||
.bundle/
|
|
||||||
docs/vendor/
|
|
||||||
/.lein-*
|
|
||||||
/.nrepl-port
|
|
||||||
Cargo.lock
|
|
||||||
/checkouts/
|
|
||||||
/classes/
|
|
||||||
/node_modules/
|
|
||||||
/out/
|
|
||||||
/target
|
|
||||||
pom.xml
|
|
||||||
pom.xml.asc
|
|
||||||
/.cljs_node_repl/
|
|
||||||
/.cljs_rhino_repl/
|
|
||||||
/addon/built/index.js
|
|
||||||
/addon/node_modules/
|
|
||||||
/addon/release/datomish-test.xpi
|
|
||||||
/addon/release/datomish.js
|
|
||||||
/addon/release/index.js
|
|
||||||
/release-browser/cljs/
|
|
||||||
/release-browser/cljs_promises/
|
|
||||||
/release-browser/clojure/
|
|
||||||
/release-browser/constants_table.js
|
|
||||||
/release-browser/datomish.bare.js
|
|
||||||
/release-browser/datomish.js
|
|
||||||
/release-browser/datomish/
|
|
||||||
/release-browser/goog/
|
|
||||||
/release-browser/honeysql/
|
|
||||||
/release-node/cljs/
|
|
||||||
/release-node/cljs_promises/
|
|
||||||
/release-node/clojure/
|
|
||||||
/release-node/constants_table.js
|
|
||||||
/release-node/datomish.bare.js
|
|
||||||
/release-node/datomish.js
|
|
||||||
/release-node/datomish/
|
|
||||||
/release-node/goog/
|
|
||||||
/release-node/honeysql/
|
|
||||||
/edn/target/
|
|
||||||
/fixtures/*.db-shm
|
|
||||||
/fixtures/*.db-wal
|
|
||||||
/query-parser/out/
|
|
||||||
|
|
||||||
## Build generated
|
|
||||||
/sdks/swift/Mentat/build/
|
|
||||||
/sdks/android/**/build
|
|
||||||
DerivedData
|
|
||||||
build.xcarchive
|
|
||||||
|
|
||||||
## Various settings
|
|
||||||
*.pbxuser
|
|
||||||
!default.pbxuser
|
|
||||||
*.mode1v3
|
|
||||||
!default.mode1v3
|
|
||||||
*.mode2v3
|
|
||||||
!default.mode2v3
|
|
||||||
*.perspectivev3
|
|
||||||
!default.perspectivev3
|
|
||||||
/sdks/swift/Mentat/*.xcodeproj/project.xcworkspace/xcuserdata
|
|
||||||
|
|
||||||
## Other
|
|
||||||
*.xccheckout
|
|
||||||
*.moved-aside
|
|
||||||
*.xcuserstate
|
|
||||||
*.xcscmblueprint
|
|
||||||
|
|
||||||
## Obj-C/Swift specific
|
|
||||||
*.hmap
|
|
||||||
*.ipa
|
|
||||||
/sdks/swift/Mentat/External-Dependencies
|
|
||||||
|
|
||||||
# Android & IntelliJ
|
|
||||||
**/*.iml
|
|
||||||
**/.idea
|
|
||||||
/sdks/android/**/local.properties
|
|
||||||
|
|
||||||
# Documentation
|
|
||||||
docs/_site
|
|
||||||
docs/.sass-cache
|
|
||||||
docs/.jekyll-metadata
|
|
1
.ignore
1
.ignore
|
@ -1 +0,0 @@
|
||||||
docs/
|
|
0
.lock
Executable file
0
.lock
Executable file
0
.nojekyll
Normal file
0
.nojekyll
Normal file
|
@ -1,80 +0,0 @@
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
|
|
||||||
version: 0
|
|
||||||
allowPullRequests: public
|
|
||||||
tasks:
|
|
||||||
####################################################################################################
|
|
||||||
# Task: Pull requests
|
|
||||||
####################################################################################################
|
|
||||||
- provisionerId: '{{ taskcluster.docker.provisionerId }}'
|
|
||||||
workerType: '{{ taskcluster.docker.workerType }}'
|
|
||||||
extra:
|
|
||||||
github:
|
|
||||||
env: true
|
|
||||||
events:
|
|
||||||
- pull_request.opened
|
|
||||||
- pull_request.edited
|
|
||||||
- pull_request.synchronize
|
|
||||||
- pull_request.reopened
|
|
||||||
- push
|
|
||||||
scopes:
|
|
||||||
- "queue:create-task:aws-provisioner-v1/github-worker"
|
|
||||||
- "queue:scheduler-id:taskcluster-github"
|
|
||||||
payload:
|
|
||||||
maxRunTime: 3600
|
|
||||||
deadline: "{{ '2 hours' | $fromNow }}"
|
|
||||||
image: 'mozillamobile/android-components:1.4'
|
|
||||||
command:
|
|
||||||
- /bin/bash
|
|
||||||
- '--login'
|
|
||||||
- '-cx'
|
|
||||||
- >-
|
|
||||||
export TERM=dumb
|
|
||||||
&& git fetch {{ event.head.repo.url }} {{ event.head.repo.branch }}
|
|
||||||
&& git config advice.detachedHead false
|
|
||||||
&& git checkout {{event.head.sha}}
|
|
||||||
&& python automation/taskcluster/decision_task_pull_request.py
|
|
||||||
features:
|
|
||||||
taskclusterProxy: true
|
|
||||||
metadata:
|
|
||||||
name: Mentat Android SDK - Pull Request
|
|
||||||
description: Building and testing the Mentat Android SDK - triggered by a pull request.
|
|
||||||
owner: '{{ event.head.user.email }}'
|
|
||||||
source: '{{ event.head.repo.url }}'
|
|
||||||
####################################################################################################
|
|
||||||
# Task: Release
|
|
||||||
####################################################################################################
|
|
||||||
- provisionerId: '{{ taskcluster.docker.provisionerId }}'
|
|
||||||
workerType: '{{ taskcluster.docker.workerType }}'
|
|
||||||
extra:
|
|
||||||
github:
|
|
||||||
events:
|
|
||||||
- release
|
|
||||||
scopes:
|
|
||||||
- "secrets:get:project/mentat/publish"
|
|
||||||
payload:
|
|
||||||
maxRunTime: 3600
|
|
||||||
deadline: "{{ '2 hours' | $fromNow }}"
|
|
||||||
image: 'mozillamobile/mentat:1.2'
|
|
||||||
command:
|
|
||||||
- /bin/bash
|
|
||||||
- '--login'
|
|
||||||
- '-cx'
|
|
||||||
- >-
|
|
||||||
export TERM=dumb
|
|
||||||
&& git fetch origin --tags
|
|
||||||
&& git config advice.detachedHead false
|
|
||||||
&& git checkout {{ event.version }}
|
|
||||||
&& python automation/taskcluster/release/fetch-bintray-api-key.py
|
|
||||||
&& cd sdks/android/Mentat
|
|
||||||
&& ./gradlew --no-daemon clean library:assembleRelease
|
|
||||||
&& VCS_TAG=`git show-ref {{ event.version }}` ./gradlew bintrayUpload --debug -PvcsTag="$VCS_TAG"
|
|
||||||
features:
|
|
||||||
taskclusterProxy: true
|
|
||||||
metadata:
|
|
||||||
name: Mentat Android SDK - Release ({{ event.version }})
|
|
||||||
description: Building and publishing release versions.
|
|
||||||
owner: '{{ event.head.user.email }}'
|
|
||||||
source: '{{ event.head.repo.url }}'
|
|
78
.travis.yml
78
.travis.yml
|
@ -1,78 +0,0 @@
|
||||||
language: rust
|
|
||||||
env:
|
|
||||||
- CARGO_INCREMENTAL=0
|
|
||||||
# https://bheisler.github.io/post/efficient-use-of-travis-ci-cache-for-rust/
|
|
||||||
before_cache:
|
|
||||||
# Delete loose files in the debug directory
|
|
||||||
- find ./target/debug -maxdepth 1 -type f -delete
|
|
||||||
# Delete the test and benchmark executables. Finding these all might take some
|
|
||||||
# experimentation.
|
|
||||||
- rm -rf ./target/debug/deps/criterion*
|
|
||||||
- rm -rf ./target/debug/deps/bench*
|
|
||||||
# Delete the associated metadata files for those executables
|
|
||||||
- rm -rf ./target/debug/.fingerprint/criterion*
|
|
||||||
- rm -rf ./target/debug/.fingerprint/bench*
|
|
||||||
# Note that all of the above need to be repeated for `release/` instead of
|
|
||||||
# `debug/` if your build script builds artifacts in release mode.
|
|
||||||
# This is just more metadata
|
|
||||||
- rm -f ./target/.rustc_info.json
|
|
||||||
# Also delete the saved benchmark data from the test benchmarks. If you
|
|
||||||
# have Criterion.rs benchmarks, you'll probably want to do this as well, or set
|
|
||||||
# the CRITERION_HOME environment variable to move that data out of the
|
|
||||||
# `target/` directory.
|
|
||||||
- rm -rf ./target/criterion
|
|
||||||
# Also delete cargo's registry index. This is updated on every build, but it's
|
|
||||||
# way cheaper to re-download than the whole cache is.
|
|
||||||
- rm -rf "$TRAVIS_HOME/.cargo/registry/index/"
|
|
||||||
- rm -rf "$TRAVIS_HOME/.cargo/registry/src"
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- ./target
|
|
||||||
- $TRAVIS_HOME/.cache/sccache
|
|
||||||
- $TRAVIS_HOME/.cargo/
|
|
||||||
- $TRAVIS_HOME/.rustup/
|
|
||||||
before_script:
|
|
||||||
- cargo install --force cargo-audit
|
|
||||||
- cargo generate-lockfile
|
|
||||||
- rustup component add clippy-preview
|
|
||||||
script:
|
|
||||||
- cargo audit
|
|
||||||
# We use OSX so that we can get a reasonably up to date version of SQLCipher.
|
|
||||||
# (The version in Travis's default Ubuntu Trusty is much too old).
|
|
||||||
os: osx
|
|
||||||
before_install:
|
|
||||||
- brew install sqlcipher
|
|
||||||
rust:
|
|
||||||
- 1.43.0
|
|
||||||
- 1.44.0
|
|
||||||
- 1.45.0
|
|
||||||
- 1.46.0
|
|
||||||
- 1.47.0
|
|
||||||
- stable
|
|
||||||
- beta
|
|
||||||
- nightly
|
|
||||||
matrix:
|
|
||||||
allow_failures:
|
|
||||||
- rust: nightly
|
|
||||||
fast_finish: true
|
|
||||||
jobs:
|
|
||||||
include:
|
|
||||||
- stage: "Test iOS"
|
|
||||||
rust: 1.47.0
|
|
||||||
script: ./scripts/test-ios.sh
|
|
||||||
- stage: "Docs"
|
|
||||||
rust: 1.47.0
|
|
||||||
script: ./scripts/cargo-doc.sh
|
|
||||||
script:
|
|
||||||
- cargo build --verbose --all
|
|
||||||
- cargo clippy --all-targets --all-features -- -D warnings -A clippy::comparison-chain -A clippy::many-single-char-names # Check tests and non-default crate features.
|
|
||||||
- cargo test --verbose --all
|
|
||||||
- cargo test --features edn/serde_support --verbose --all
|
|
||||||
# We can't pick individual features out with `cargo test --all` (At the time of this writing, this
|
|
||||||
# works but does the wrong thing because of a bug in cargo, but its fix will be to disallow doing
|
|
||||||
# this all-together, see https://github.com/rust-lang/cargo/issues/5364 for more information). To
|
|
||||||
# work around this, we run tests individually for sub-crates that rely on `rusqlite`.
|
|
||||||
- |
|
|
||||||
for crate in "" "db" "db-traits" "ffi" "public-traits" "query-projector" "query-projector-traits" "query-pull" "sql" "tolstoy" "tolstoy-traits" "transaction" "tools/cli"; do
|
|
||||||
cargo test --manifest-path ./$crate/Cargo.toml --verbose --no-default-features --features sqlcipher
|
|
||||||
done
|
|
25
.vscode/launch.json
vendored
25
.vscode/launch.json
vendored
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
// Use IntelliSense to learn about possible attributes.
|
|
||||||
// Hover to view descriptions of existing attributes.
|
|
||||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"type": "lldb",
|
|
||||||
"request": "attach",
|
|
||||||
"name": "Attach to CLI (debug)",
|
|
||||||
"program": "${workspaceFolder}/target/debug/mentat_cli"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "lldb",
|
|
||||||
"request": "launch",
|
|
||||||
"name": "CLI",
|
|
||||||
"stdio": "*",
|
|
||||||
"program": "${workspaceFolder}/target/debug/mentat_cli",
|
|
||||||
"args": [],
|
|
||||||
"cwd": "${workspaceFolder}",
|
|
||||||
"internalConsoleOptions": "openOnSessionStart",
|
|
||||||
"terminal": "integrated"
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
30
.vscode/settings.json
vendored
30
.vscode/settings.json
vendored
|
@ -1,30 +0,0 @@
|
||||||
// Place your settings in this file to overwrite default and user settings.
|
|
||||||
{
|
|
||||||
// Newline at EOF.
|
|
||||||
"files.insertFinalNewline": true,
|
|
||||||
|
|
||||||
// Configure glob patterns for excluding files and folders.
|
|
||||||
"files.exclude": {
|
|
||||||
"**/.git": true,
|
|
||||||
"**/.svn": true,
|
|
||||||
"**/.hg": true,
|
|
||||||
"**/CVS": true,
|
|
||||||
"**/.DS_Store": true,
|
|
||||||
"**/.*.sw*": true, // Vim swap files.
|
|
||||||
"**/*~": true, // Vim backup files.
|
|
||||||
".cljs_*_repl": true,
|
|
||||||
".gitignore": true,
|
|
||||||
".lein*": true,
|
|
||||||
".sw*": true,
|
|
||||||
"target": true, // Top-level build output.
|
|
||||||
"*/target": true // Sub-crate build output.
|
|
||||||
},
|
|
||||||
"rust.customTestConfigurations": [
|
|
||||||
{
|
|
||||||
"title": "All Crates",
|
|
||||||
"args": [
|
|
||||||
"--all"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
58
.vscode/tasks.json
vendored
58
.vscode/tasks.json
vendored
|
@ -1,58 +0,0 @@
|
||||||
{
|
|
||||||
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
|
||||||
// for the documentation about the tasks.json format
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"label": "Test all",
|
|
||||||
"command": "cargo",
|
|
||||||
"args": [
|
|
||||||
"test",
|
|
||||||
"--all",
|
|
||||||
],
|
|
||||||
"problemMatcher": [
|
|
||||||
"$rustc"
|
|
||||||
],
|
|
||||||
"group": "test"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"label": "Run CLI",
|
|
||||||
"command": "cargo",
|
|
||||||
"args": [
|
|
||||||
"debugcli",
|
|
||||||
],
|
|
||||||
"problemMatcher": [
|
|
||||||
"$rustc"
|
|
||||||
],
|
|
||||||
"group": "test"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"label": "Build CLI",
|
|
||||||
"command": "cargo",
|
|
||||||
"args": [
|
|
||||||
"build",
|
|
||||||
"-p",
|
|
||||||
"mentat_cli",
|
|
||||||
],
|
|
||||||
"problemMatcher": [
|
|
||||||
"$rustc"
|
|
||||||
],
|
|
||||||
"group": "build"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"label": "Build Mentat",
|
|
||||||
"command": "cargo",
|
|
||||||
"args": [
|
|
||||||
"build",
|
|
||||||
],
|
|
||||||
"problemMatcher": [
|
|
||||||
"$rustc"
|
|
||||||
],
|
|
||||||
"group": "build"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
39
CHANGELOG.md
39
CHANGELOG.md
|
@ -1,39 +0,0 @@
|
||||||
# 0.11.1 (2018-08-09)
|
|
||||||
|
|
||||||
* sdks/android compiled against:
|
|
||||||
* Kotlin standard library 1.2.41
|
|
||||||
|
|
||||||
* **API changes**: Changed wording of MentatError::ConflictingAttributeDefinitions, MentatError::ExistingVocabularyTooNew, MentatError::UnexpectedCoreSchema.
|
|
||||||
|
|
||||||
* [Commits](https://github.com/mozilla/mentat/compare/v0.11.0...v0.11.1)
|
|
||||||
|
|
||||||
# 0.11 (2018-07-31)
|
|
||||||
|
|
||||||
* sdks/android compiled against:
|
|
||||||
* Kotlin standard library 1.2.41
|
|
||||||
|
|
||||||
* **sdks/android**: `Mentat()` constructor replaced with `open` factory method.
|
|
||||||
|
|
||||||
* [Commits](https://github.com/mozilla/mentat/compare/v0.10.0...v0.11.0)
|
|
||||||
|
|
||||||
# 0.10 (2018-07-26)
|
|
||||||
|
|
||||||
* sdks/android compiled against:
|
|
||||||
* Kotlin standard library 1.2.41
|
|
||||||
|
|
||||||
* **API changes**:
|
|
||||||
* `store_open{_encrypted}` now accepts an error parameter; corresponding constructors changed to be factory functions.
|
|
||||||
|
|
||||||
* [Commits](https://github.com/mozilla/mentat/compare/v0.9.0...v0.10.0)
|
|
||||||
|
|
||||||
# 0.9 (2018-07-25)
|
|
||||||
|
|
||||||
* sdks/android compiled against:
|
|
||||||
* Kotlin standard library 1.2.41
|
|
||||||
|
|
||||||
* **API changes**:
|
|
||||||
* Mentat partitions now enforce their integrity, denying entids that aren't already known.
|
|
||||||
|
|
||||||
* **sdks/android**: First version published to nalexander's personal bintray repository.
|
|
||||||
* Various bugfixes and refactorings (see commits below for details)
|
|
||||||
* [Commits](https://github.com/mozilla/mentat/compare/v0.8.1...v0.9.0)
|
|
1
CNAME
Normal file
1
CNAME
Normal file
|
@ -0,0 +1 @@
|
||||||
|
mentat.rs
|
118
Cargo.toml
118
Cargo.toml
|
@ -1,118 +0,0 @@
|
||||||
[package]
|
|
||||||
edition = "2021"
|
|
||||||
authors = [
|
|
||||||
"Richard Newman <rnewman@twinql.com>",
|
|
||||||
"Nicholas Alexander <nalexander@mozilla.com>",
|
|
||||||
"Victor Porof <vporof@mozilla.com>",
|
|
||||||
"Jordan Santell <jsantell@mozilla.com>",
|
|
||||||
"Joe Walker <jwalker@mozilla.com>",
|
|
||||||
"Emily Toop <etoop@mozilla.com>",
|
|
||||||
"Grisha Kruglov <grigory@kruglov.ca>",
|
|
||||||
"Kit Cambridge <kit@yakshaving.ninja>",
|
|
||||||
"Edouard Oger <eoger@fastmail.com>",
|
|
||||||
"Thom Chiovoloni <tchiovoloni@mozilla.com>",
|
|
||||||
"Gregory Burd <greg@burd.me>",
|
|
||||||
]
|
|
||||||
name = "mentat"
|
|
||||||
version = "0.14.0"
|
|
||||||
build = "build/version.rs"
|
|
||||||
|
|
||||||
[features]
|
|
||||||
default = ["bundled_sqlite3", "syncable"]
|
|
||||||
bundled_sqlite3 = ["rusqlite/bundled"]
|
|
||||||
sqlcipher = ["rusqlite/sqlcipher", "mentat_db/sqlcipher"]
|
|
||||||
syncable = ["mentat_tolstoy", "tolstoy_traits", "mentat_db/syncable"]
|
|
||||||
|
|
||||||
[workspace]
|
|
||||||
members = [
|
|
||||||
"tools/cli",
|
|
||||||
"ffi", "core", "core-traits","db", "db-traits", "edn", "public-traits", "query-algebrizer",
|
|
||||||
"query-algebrizer-traits", "query-projector", "query-projector-traits","query-pull",
|
|
||||||
"query-sql", "sql", "sql-traits", "tolstoy-traits", "tolstoy", "transaction"
|
|
||||||
]
|
|
||||||
|
|
||||||
[build-dependencies]
|
|
||||||
rustc_version = "~0.4"
|
|
||||||
|
|
||||||
[dev-dependencies]
|
|
||||||
assert_approx_eq = "~1.1"
|
|
||||||
|
|
||||||
#[dev-dependencies.cargo-husky]
|
|
||||||
#version = "1"
|
|
||||||
#default-features = false # Disable features which are enabled by default
|
|
||||||
#features = ["run-for-all", "precommit-hook", "run-cargo-fmt", "run-cargo-test", "run-cargo-check", "run-cargo-clippy"]
|
|
||||||
#cargo audit
|
|
||||||
#cargo outdated
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
chrono = "~0.4"
|
|
||||||
failure = "~0.1"
|
|
||||||
lazy_static = "~1.4"
|
|
||||||
time = "0.3.1"
|
|
||||||
log = "~0.4"
|
|
||||||
uuid = { version = "~1", features = ["v4", "serde"] }
|
|
||||||
|
|
||||||
[dependencies.rusqlite]
|
|
||||||
version = "~0.29"
|
|
||||||
features = ["limits", "bundled"]
|
|
||||||
|
|
||||||
[dependencies.edn]
|
|
||||||
path = "edn"
|
|
||||||
|
|
||||||
[dependencies.core_traits]
|
|
||||||
path = "core-traits"
|
|
||||||
|
|
||||||
[dependencies.mentat_core]
|
|
||||||
path = "core"
|
|
||||||
|
|
||||||
[dependencies.mentat_sql]
|
|
||||||
path = "sql"
|
|
||||||
|
|
||||||
[dependencies.mentat_db]
|
|
||||||
path = "db"
|
|
||||||
|
|
||||||
[dependencies.db_traits]
|
|
||||||
path = "db-traits"
|
|
||||||
|
|
||||||
[dependencies.mentat_query_algebrizer]
|
|
||||||
path = "query-algebrizer"
|
|
||||||
|
|
||||||
[dependencies.query_algebrizer_traits]
|
|
||||||
path = "query-algebrizer-traits"
|
|
||||||
|
|
||||||
[dependencies.mentat_query_projector]
|
|
||||||
path = "query-projector"
|
|
||||||
|
|
||||||
[dependencies.query_projector_traits]
|
|
||||||
path = "query-projector-traits"
|
|
||||||
|
|
||||||
[dependencies.mentat_query_pull]
|
|
||||||
path = "query-pull"
|
|
||||||
|
|
||||||
[dependencies.query_pull_traits]
|
|
||||||
path = "query-pull-traits"
|
|
||||||
|
|
||||||
[dependencies.mentat_query_sql]
|
|
||||||
path = "query-sql"
|
|
||||||
|
|
||||||
[dependencies.sql_traits]
|
|
||||||
path = "sql-traits"
|
|
||||||
|
|
||||||
[dependencies.public_traits]
|
|
||||||
path = "public-traits"
|
|
||||||
|
|
||||||
[dependencies.mentat_transaction]
|
|
||||||
path = "transaction"
|
|
||||||
|
|
||||||
[dependencies.mentat_tolstoy]
|
|
||||||
path = "tolstoy"
|
|
||||||
optional = true
|
|
||||||
|
|
||||||
[dependencies.tolstoy_traits]
|
|
||||||
path = "tolstoy-traits"
|
|
||||||
optional = true
|
|
||||||
|
|
||||||
[profile.release]
|
|
||||||
opt-level = 3
|
|
||||||
debug = false
|
|
||||||
lto = true
|
|
202
LICENSE
202
LICENSE
|
@ -1,202 +0,0 @@
|
||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
11
Makefile
11
Makefile
|
@ -1,11 +0,0 @@
|
||||||
.PHONY: outdated fix
|
|
||||||
|
|
||||||
outdated:
|
|
||||||
for p in $(dirname $(ls Cargo.toml */Cargo.toml */*/Cargo.toml)); do echo $p; (cd $p; cargo outdated -R); done
|
|
||||||
|
|
||||||
|
|
||||||
fix:
|
|
||||||
$(for p in $(dirname $(ls Cargo.toml */Cargo.toml */*/Cargo.toml)); do echo $p; (cd $p; cargo fix --allow-dirty --broken-code --edition-idioms); done)
|
|
||||||
|
|
||||||
upgrades:
|
|
||||||
cargo upgrades
|
|
29
NOTES
29
NOTES
|
@ -1,29 +0,0 @@
|
||||||
* sqlite -> monetdb-lite-c + fts5 + bayesdb
|
|
||||||
* fts5 + regex + tre/fuzzy + codesearch/trigram filters, streaming bloom filters https://arxiv.org/abs/2001.03147
|
|
||||||
* datalog to "goblin relational engine" (gtk)
|
|
||||||
* branching distributed wal (chain replication) and CRDTs
|
|
||||||
* alf:fn query language
|
|
||||||
* datatypes via bit syntax+some code?
|
|
||||||
* pure lang?
|
|
||||||
|
|
||||||
* https://github.com/dahjelle/pouch-datalog
|
|
||||||
* https://github.com/edn-query-language/eql
|
|
||||||
* https://github.com/borkdude/jet
|
|
||||||
* https://github.com/walmartlabs/dyn-edn
|
|
||||||
* https://github.com/go-edn/edn
|
|
||||||
* https://github.com/smothers/cause
|
|
||||||
* https://github.com/oscaro/eq
|
|
||||||
* https://github.com/clojure-emacs/parseedn
|
|
||||||
* https://github.com/exoscale/seql
|
|
||||||
* https://github.com/axboe/liburing
|
|
||||||
|
|
||||||
* (EAVtf) - entity attribute value type flags
|
|
||||||
|
|
||||||
* distributed, replicated WAL
|
|
||||||
* https://github.com/mirage/irmin
|
|
||||||
|
|
||||||
* What if facts had "confidence" [0-1)?
|
|
||||||
* entity attribute value type flags
|
|
||||||
* https://github.com/probcomp/BayesDB
|
|
||||||
* https://github.com/probcomp/bayeslite
|
|
||||||
* http://probcomp.csail.mit.edu/software/bayesdb/
|
|
240
README.md
240
README.md
|
@ -1,240 +0,0 @@
|
||||||
# Project Mentat
|
|
||||||
[![Build Status](https://travis-ci.org/qpdb/mentat.svg?branch=master)](https://travis-ci.org/qpdb/mentat)
|
|
||||||
|
|
||||||
Project Mentat is a persistent, embedded knowledge base. It draws heavily on [DataScript](https://github.com/tonsky/datascript) and [Datomic](http://datomic.com).
|
|
||||||
|
|
||||||
This project was started by Mozilla, but [is no longer being developed or actively maintained by them](https://mail.mozilla.org/pipermail/firefox-dev/2018-September/006780.html). [Their repository](https://github.com/mozilla/mentat) was marked read-only, [this fork](https://github.com/qpdb/mentat) is an attempt to revive and continue that interesting work. We owe the team at Mozilla more than words can express for inspiring us all and for this project in particular.
|
|
||||||
|
|
||||||
*Thank you*.
|
|
||||||
|
|
||||||
[Documentation](https://docs.rs/mentat)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Motivation
|
|
||||||
|
|
||||||
Mentat is a flexible relational (not key-value, not document-oriented) store that makes it easy to describe, grow, and reuse your domain schema.
|
|
||||||
|
|
||||||
By abstracting away the storage schema, and by exposing change listeners outside the database (not via triggers), we hope to make domain schemas stable, and allow both the data store itself and embedding applications to use better architectures, meeting performance goals in a way that allows future evolution.
|
|
||||||
|
|
||||||
## Data storage is hard
|
|
||||||
|
|
||||||
We've observed that data storage is a particular area of difficulty for software development teams:
|
|
||||||
|
|
||||||
- It's hard to define storage schemas well. A developer must:
|
|
||||||
- Model their domain entities and relationships.
|
|
||||||
- Encode that model _efficiently_ and _correctly_ using the features available in the database.
|
|
||||||
- Plan for future extensions and performance tuning.
|
|
||||||
|
|
||||||
In a SQL database, the same schema definition defines everything from high-level domain relationships through to numeric field sizes in the same smear of keywords. It's difficult for someone unfamiliar with the domain to determine from such a schema what's a domain fact and what's an implementation concession — are all part numbers always 16 characters long, or are we trying to save space? — or, indeed, whether a missing constraint is deliberate or a bug.
|
|
||||||
|
|
||||||
The developer must think about foreign key constraints, compound uniqueness, and nullability. They must consider indexing, synchronizing, and stable identifiers. Most developers simply don't do enough work in SQL to get all of these things right. Storage thus becomes the specialty of a few individuals.
|
|
||||||
|
|
||||||
Which one of these is correct?
|
|
||||||
|
|
||||||
```edn
|
|
||||||
{:db/id :person/email
|
|
||||||
:db/valueType :db.type/string
|
|
||||||
:db/cardinality :db.cardinality/many ; People can have multiple email addresses.
|
|
||||||
:db/unique :db.unique/identity ; For our purposes, each email identifies one person.
|
|
||||||
:db/index true} ; We want fast lookups by email.
|
|
||||||
{:db/id :person/friend
|
|
||||||
:db/valueType :db.type/ref
|
|
||||||
:db/cardinality :db.cardinality/many} ; People can have many friends.
|
|
||||||
```
|
|
||||||
```sql
|
|
||||||
CREATE TABLE people (
|
|
||||||
id INTEGER PRIMARY KEY, -- Bug: because of the primary key, each person can have no more than 1 email.
|
|
||||||
email VARCHAR(64), -- Bug?: no NOT NULL, so a person can have no email.
|
|
||||||
-- Bug: nobody will ever have a long email address, right?
|
|
||||||
);
|
|
||||||
CREATE TABLE friendships (
|
|
||||||
FOREIGN KEY person REFERENCES people(id), -- Bug?: no indexing, so lookups by friend or person will be slow.
|
|
||||||
FOREIGN KEY friend REFERENCES people(id), -- Bug: no compound uniqueness constraint, so we can have dupe friendships.
|
|
||||||
);
|
|
||||||
```
|
|
||||||
|
|
||||||
They both have limitations — the Mentat schema allows only for an open world (it's possible to declare friendships with people whose email isn't known), and requires validation code to enforce email string correctness — but we think that even such a tiny SQL example is harder to understand and obscures important domain decisions.
|
|
||||||
|
|
||||||
- Queries are intimately tied to structural storage choices. That not only hides the declarative domain-level meaning of the query — it's hard to tell what a query is trying to do when it's a 100-line mess of subqueries and `LEFT OUTER JOIN`s — but it also means a simple structural schema change requires auditing _every query_ for correctness.
|
|
||||||
|
|
||||||
- Developers often capture less event-shaped than they perhaps should, simply because their initial requirements don't warrant it. It's quite common to later want to [know when a fact was recorded](https://bugzilla.mozilla.org/show_bug.cgi?id=1341939), or _in which order_ two facts were recorded (particularly for migrations), or on which device an event took place… or even that a fact was _ever_ recorded and then deleted.
|
|
||||||
|
|
||||||
- Common queries are hard. Storing values only once, upserts, complicated joins, and group-wise maxima are all difficult for non-expert developers to get right.
|
|
||||||
|
|
||||||
- It's hard to evolve storage schemas. Writing a robust SQL schema migration is hard, particularly if a bad migration has ever escaped into the wild! Teams learn to fear and avoid schema changes, and eventually they ship a table called `metadata`, with three `TEXT` columns, so they never have to write a migration again. That decision pushes storage complexity into application code. (Or they start storing unversioned JSON blobs in the database…)
|
|
||||||
|
|
||||||
- It's hard to share storage with another component, let alone share _data_ with another component. Conway's Law applies: your software system will often grow to have one database per team.
|
|
||||||
|
|
||||||
- It's hard to build efficient storage and querying architectures. Materialized views require knowledge of triggers, or the implementation of bottleneck APIs. _Ad hoc_ caches are often wrong, are almost never formally designed (do you want a write-back, write-through, or write-around cache? Do you know the difference?), and often aren't reusable. The average developer, faced with a SQL database, has little choice but to build a simple table that tries to meet every need.
|
|
||||||
|
|
||||||
|
|
||||||
## Comparison to DataScript
|
|
||||||
|
|
||||||
DataScript asks the question: "What if creating a database were as cheap as creating a Hashmap?"
|
|
||||||
|
|
||||||
Mentat is not interested in that. Instead, it's focused on persistence and performance, with very little interest in immutable databases/databases as values or throwaway use.
|
|
||||||
|
|
||||||
One might say that Mentat's question is: "What if a database could store arbitrary relations, for arbitrary consumers, without them having to coordinate an up-front storage-level schema?"
|
|
||||||
|
|
||||||
Consider this a practical approach to facts, to knowledge its storage and access, much like SQLite is a practical RDBMS.
|
|
||||||
|
|
||||||
(Note that [domain-level schemas are very valuable](http://martinfowler.com/articles/schemaless/).)
|
|
||||||
|
|
||||||
Another possible question would be: "What if we could bake some of the concepts of [CQRS and event sourcing](http://www.baeldung.com/cqrs-event-sourced-architecture-resources) into a persistent relational store, such that the transaction log itself were of value to queries?"
|
|
||||||
|
|
||||||
Some thought has been given to how databases as values — long-term references to a snapshot of the store at an instant in time — could work in this model. It's not impossible; it simply has different performance characteristics.
|
|
||||||
|
|
||||||
Just like DataScript, Mentat speaks Datalog for querying and takes additions and retractions as input to a transaction.
|
|
||||||
|
|
||||||
Unlike DataScript, Mentat exposes free-text indexing, thanks to SQLite/FTS.
|
|
||||||
|
|
||||||
|
|
||||||
## Comparison to Datomic
|
|
||||||
|
|
||||||
Datomic is a server-side, enterprise-grade data storage system. Datomic has a beautiful conceptual model. It's intended to be backed by a storage cluster, in which it keeps index chunks forever. Index chunks are replicated to peers, allowing it to run queries at the edges. Writes are serialized through a transactor.
|
|
||||||
|
|
||||||
Many of these design decisions are inapplicable to deployed desktop software; indeed, the use of multiple JVM processes makes Datomic's use in a small desktop app, or a mobile device, prohibitive.
|
|
||||||
|
|
||||||
|
|
||||||
## Comparison to SQLite
|
|
||||||
|
|
||||||
SQLite is a traditional SQL database in most respects: schemas conflate semantic, structural, and datatype concerns, as described above; the main interface with the database is human-first textual queries; sparse and graph-structured data are 'unnatural', if not always inefficient; experimenting with and evolving data models are error-prone and complicated activities; and so on.
|
|
||||||
|
|
||||||
Mentat aims to offer many of the advantages of SQLite — single-file use, embeddability, and good performance — while building a more relaxed, reusable, and expressive data model on top.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
Please note that this project is released with a Contributor Code of Conduct.
|
|
||||||
By participating in this project you agree to abide by its terms.
|
|
||||||
|
|
||||||
See [CONTRIBUTING.md](CONTRIBUTING.md) for further notes.
|
|
||||||
|
|
||||||
This project is very new, so we'll probably revise these guidelines. Please
|
|
||||||
comment on an issue before putting significant effort in if you'd like to
|
|
||||||
contribute.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Building
|
|
||||||
|
|
||||||
You first need to clone the project. To build and test the project, we are using [Cargo](https://crates.io/install).
|
|
||||||
|
|
||||||
To build all of the crates in the project use:
|
|
||||||
|
|
||||||
````
|
|
||||||
cargo build
|
|
||||||
````
|
|
||||||
|
|
||||||
To run tests use:
|
|
||||||
|
|
||||||
````
|
|
||||||
# Run tests for everything.
|
|
||||||
cargo test --all
|
|
||||||
|
|
||||||
# Run tests for just the query-algebrizer folder (specify the crate, not the folder),
|
|
||||||
# printing debug output.
|
|
||||||
cargo test -p mentat_query_algebrizer -- --nocapture
|
|
||||||
````
|
|
||||||
|
|
||||||
For most `cargo` commands you can pass the `-p` argument to run the command just on that package. So, `cargo build -p mentat_query_algebrizer` will build just the "query-algebrizer" folder.
|
|
||||||
|
|
||||||
## What are all of these crates?
|
|
||||||
|
|
||||||
We use multiple sub-crates for Mentat for four reasons:
|
|
||||||
|
|
||||||
1. To improve incremental build times.
|
|
||||||
2. To encourage encapsulation; writing `extern crate` feels worse than just `use mod`.
|
|
||||||
3. To simplify the creation of targets that don't use certain features: _e.g._, a build with no syncing, or with no query system.
|
|
||||||
4. To allow for reuse (_e.g._, the EDN parser is essentially a separate library).
|
|
||||||
|
|
||||||
So what are they?
|
|
||||||
|
|
||||||
### Building blocks
|
|
||||||
|
|
||||||
#### `edn`
|
|
||||||
|
|
||||||
Our EDN parser. It uses `rust-peg` to parse [EDN](https://github.com/edn-format/edn), which is Clojure/Datomic's richer alternative to JSON. `edn`'s dependencies are all either for representing rich values (`chrono`, `uuid`, `ordered-float`) or for parsing (`serde`, `peg`).
|
|
||||||
|
|
||||||
In addition, this crate turns a stream of EDN values into a representation suitable to be transacted.
|
|
||||||
|
|
||||||
#### `mentat_core`
|
|
||||||
|
|
||||||
This is the lowest-level Mentat crate. It collects together the following things:
|
|
||||||
|
|
||||||
- Fundamental domain-specific data structures like `ValueType` and `TypedValue`.
|
|
||||||
- Fundamental SQL-related linkages like `SQLValueType`. These encode the mapping between Mentat's types and values and their representation in our SQLite format.
|
|
||||||
- Conversion to and from EDN types (_e.g._, `edn::Keyword` to `TypedValue::Keyword`).
|
|
||||||
- Common utilities (some in the `util` module, and others that should be moved there or broken out) like `Either`, `InternSet`, and `RcCounter`.
|
|
||||||
- Reusable lazy namespaced keywords (_e.g._, `DB_TYPE_DOUBLE`) that are used by `mentat_db` and EDN serialization of core structs.
|
|
||||||
|
|
||||||
### Types
|
|
||||||
|
|
||||||
#### `mentat_query`
|
|
||||||
|
|
||||||
This crate defines the structs and enums that are the output of the query parser and used by the translator and algebrizer. `SrcVar`, `NonIntegerConstant`, `FnArg`… these all live here.
|
|
||||||
|
|
||||||
#### `mentat_query_sql`
|
|
||||||
|
|
||||||
Similarly, this crate defines an abstract representation of a SQL query as understood by Mentat. This bridges between Mentat's types (_e.g._, `TypedValue`) and SQL concepts (`ColumnOrExpression`, `GroupBy`). It's produced by the algebrizer and consumed by the translator.
|
|
||||||
|
|
||||||
### Query processing
|
|
||||||
|
|
||||||
#### `mentat_query_algebrizer`
|
|
||||||
|
|
||||||
This is the biggest piece of the query engine. It takes a parsed query, which at this point is _independent of a database_, and combines it with the current state of the schema and data. This involves translating keywords into attributes, abstract values into concrete values with a known type, and producing an `AlgebraicQuery`, which is a representation of how a query's Datalog semantics can be satisfied as SQL table joins and constraints over Mentat's SQL schema. An algebrized query is tightly coupled with both the disk schema and the vocabulary present in the store when the work is done.
|
|
||||||
|
|
||||||
#### `mentat_query_projector`
|
|
||||||
|
|
||||||
A Datalog query _projects_ some of the variables in the query into data structures in the output. This crate takes an algebrized query and a projection list and figures out how to get values out of the running SQL query and into the right format for the consumer.
|
|
||||||
|
|
||||||
#### `mentat_query_translator`
|
|
||||||
|
|
||||||
This crate works with all of the above to turn the output of the algebrizer and projector into the data structures defined in `mentat_query_sql`.
|
|
||||||
|
|
||||||
#### `mentat_sql`
|
|
||||||
|
|
||||||
This simple crate turns those data structures into SQL text and bindings that can later be executed by `rusqlite`.
|
|
||||||
|
|
||||||
### The data layer: `mentat_db`
|
|
||||||
|
|
||||||
This is a big one: it implements the core storage logic on top of SQLite. This crate is responsible for bootstrapping new databases, transacting new data, maintaining the attribute cache, and building and updating in-memory representations of the storage schema.
|
|
||||||
|
|
||||||
### The main crate
|
|
||||||
|
|
||||||
The top-level main crate of Mentat assembles these component crates into something useful. It wraps up a connection to a database file and the associated metadata into a `Store`, and encapsulates an in-progress transaction (`InProgress`). It provides modules for programmatically writing (`entity_builder.rs`) and managing vocabulary (`vocabulary.rs`).
|
|
||||||
|
|
||||||
### Syncing
|
|
||||||
|
|
||||||
Sync code lives, for [referential reasons](https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying), in a crate named `tolstoy`. This code is a work in progress; current state is a proof-of-concept implementation which largely relies on the internal transactor to make progress in most cases and comes with a basic support for timelines. See [Tolstoy's documentation](https://github.com/mozilla/mentat/tree/master/tolstoy/README.md) for details.
|
|
||||||
|
|
||||||
### The command-line interface
|
|
||||||
|
|
||||||
This is under `tools/cli`. It's essentially an external consumer of the main `mentat` crate. This code is ugly, but it mostly works.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## SQLite dependencies
|
|
||||||
|
|
||||||
Mentat uses partial indices, which are available in SQLite 3.8.0 and higher. It relies on correlation between aggregate and non-aggregate columns in the output, which was added in SQLite 3.7.11.
|
|
||||||
|
|
||||||
It also uses FTS4, which is [a compile time option](http://www.sqlite.org/fts3.html#section_2).
|
|
||||||
|
|
||||||
By default, Mentat specifies the `"bundled"` feature for `rusqlite`, which uses a relatively recent
|
|
||||||
version of SQLite. If you want to link against the system version of SQLite, omit `"bundled_sqlite3"`
|
|
||||||
from Mentat's features.
|
|
||||||
|
|
||||||
```toml
|
|
||||||
[dependencies.mentat]
|
|
||||||
version = "0.6"
|
|
||||||
# System sqlite is known to be new.
|
|
||||||
default-features = false
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
Project Mentat is currently licensed under the Apache License v2.0. See the `LICENSE` file for details.
|
|
10
arrayvec/Array.t.html
Normal file
10
arrayvec/Array.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=trait.Array.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="trait.Array.html">trait.Array.html</a>...</p>
|
||||||
|
<script>location.replace("trait.Array.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/ArrayString.t.html
Normal file
10
arrayvec/ArrayString.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.ArrayString.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.ArrayString.html">struct.ArrayString.html</a>...</p>
|
||||||
|
<script>location.replace("struct.ArrayString.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/ArrayVec.t.html
Normal file
10
arrayvec/ArrayVec.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.ArrayVec.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.ArrayVec.html">struct.ArrayVec.html</a>...</p>
|
||||||
|
<script>location.replace("struct.ArrayVec.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/CapacityError.t.html
Normal file
10
arrayvec/CapacityError.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.CapacityError.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.CapacityError.html">struct.CapacityError.html</a>...</p>
|
||||||
|
<script>location.replace("struct.CapacityError.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/Drain.t.html
Normal file
10
arrayvec/Drain.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.Drain.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.Drain.html">struct.Drain.html</a>...</p>
|
||||||
|
<script>location.replace("struct.Drain.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/IntoIter.t.html
Normal file
10
arrayvec/IntoIter.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.IntoIter.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.IntoIter.html">struct.IntoIter.html</a>...</p>
|
||||||
|
<script>location.replace("struct.IntoIter.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/RangeArgument.t.html
Normal file
10
arrayvec/RangeArgument.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=trait.RangeArgument.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="trait.RangeArgument.html">trait.RangeArgument.html</a>...</p>
|
||||||
|
<script>location.replace("trait.RangeArgument.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/array/Array.t.html
Normal file
10
arrayvec/array/Array.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=trait.Array.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="trait.Array.html">trait.Array.html</a>...</p>
|
||||||
|
<script>location.replace("trait.Array.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/array/trait.Array.html
Normal file
10
arrayvec/array/trait.Array.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=../../arrayvec/trait.Array.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="../../arrayvec/trait.Array.html">../../arrayvec/trait.Array.html</a>...</p>
|
||||||
|
<script>location.replace("../../arrayvec/trait.Array.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/array_string/ArrayString.t.html
Normal file
10
arrayvec/array_string/ArrayString.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.ArrayString.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.ArrayString.html">struct.ArrayString.html</a>...</p>
|
||||||
|
<script>location.replace("struct.ArrayString.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/array_string/struct.ArrayString.html
Normal file
10
arrayvec/array_string/struct.ArrayString.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=../../arrayvec/struct.ArrayString.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="../../arrayvec/struct.ArrayString.html">../../arrayvec/struct.ArrayString.html</a>...</p>
|
||||||
|
<script>location.replace("../../arrayvec/struct.ArrayString.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/errors/CapacityError.t.html
Normal file
10
arrayvec/errors/CapacityError.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.CapacityError.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.CapacityError.html">struct.CapacityError.html</a>...</p>
|
||||||
|
<script>location.replace("struct.CapacityError.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/errors/struct.CapacityError.html
Normal file
10
arrayvec/errors/struct.CapacityError.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=../../arrayvec/struct.CapacityError.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="../../arrayvec/struct.CapacityError.html">../../arrayvec/struct.CapacityError.html</a>...</p>
|
||||||
|
<script>location.replace("../../arrayvec/struct.CapacityError.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
219
arrayvec/index.html
Normal file
219
arrayvec/index.html
Normal file
|
@ -0,0 +1,219 @@
|
||||||
|
<!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 `arrayvec` crate.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, arrayvec">
|
||||||
|
|
||||||
|
<title>arrayvec - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</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>
|
||||||
|
|
||||||
|
<p class='location'>Crate arrayvec</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'arrayvec', 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 js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Crate <a class="mod" href=''>arrayvec</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/arrayvec/lib.rs.html#1-1067' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<div class='docblock'><p><strong>arrayvec</strong> provides the types <code>ArrayVec</code> and <code>ArrayString</code>:
|
||||||
|
array-backed vector and string types, which store their contents inline.</p>
|
||||||
|
<p>The arrayvec package has the following cargo features:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p><code>std</code></p>
|
||||||
|
<ul>
|
||||||
|
<li>Optional, enabled by default</li>
|
||||||
|
<li>Use libstd; disable to use <code>no_std</code> instead.</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p><code>use_union</code></p>
|
||||||
|
<ul>
|
||||||
|
<li>Optional</li>
|
||||||
|
<li>Requires Rust nightly channel</li>
|
||||||
|
<li>Experimental: This flag uses nightly so it <em>may break</em> unexpectedly
|
||||||
|
at some point; since it doesn't change API this flag may also change
|
||||||
|
to do nothing in the future.</li>
|
||||||
|
<li>Use the unstable feature untagged unions for the internal implementation,
|
||||||
|
which may have reduced space overhead</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p><code>serde-1</code></p>
|
||||||
|
<ul>
|
||||||
|
<li>Optional</li>
|
||||||
|
<li>Enable serialization for ArrayVec and ArrayString using serde 1.0</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="rust-version" class="section-header"><a href="#rust-version">Rust Version</a></h2>
|
||||||
|
<p>This version of arrayvec requires Rust 1.13 or later.</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.ArrayString.html"
|
||||||
|
title='struct arrayvec::ArrayString'>ArrayString</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>A string with a fixed capacity.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="struct" href="struct.ArrayVec.html"
|
||||||
|
title='struct arrayvec::ArrayVec'>ArrayVec</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>A vector with a fixed capacity.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="struct" href="struct.CapacityError.html"
|
||||||
|
title='struct arrayvec::CapacityError'>CapacityError</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>Error value indicating insufficient capacity</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="struct" href="struct.Drain.html"
|
||||||
|
title='struct arrayvec::Drain'>Drain</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>A draining iterator for <code>ArrayVec</code>.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="struct" href="struct.IntoIter.html"
|
||||||
|
title='struct arrayvec::IntoIter'>IntoIter</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>By-value iterator for <code>ArrayVec</code>.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr></table><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
|
||||||
|
<table>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="trait" href="trait.Array.html"
|
||||||
|
title='trait arrayvec::Array'>Array</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>Trait for fixed size arrays.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="trait" href="trait.RangeArgument.html"
|
||||||
|
title='trait arrayvec::RangeArgument'>RangeArgument</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p><code>RangeArgument</code> is implemented by Rust's built-in range types, produced
|
||||||
|
by range syntax like <code>..</code>, <code>a..</code>, <code>..b</code> or <code>c..d</code>.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr></table></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "arrayvec";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/range/RangeArgument.t.html
Normal file
10
arrayvec/range/RangeArgument.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=trait.RangeArgument.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="trait.RangeArgument.html">trait.RangeArgument.html</a>...</p>
|
||||||
|
<script>location.replace("trait.RangeArgument.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
arrayvec/range/trait.RangeArgument.html
Normal file
10
arrayvec/range/trait.RangeArgument.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=../../arrayvec/trait.RangeArgument.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="../../arrayvec/trait.RangeArgument.html">../../arrayvec/trait.RangeArgument.html</a>...</p>
|
||||||
|
<script>location.replace("../../arrayvec/trait.RangeArgument.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
1
arrayvec/sidebar-items.js
Normal file
1
arrayvec/sidebar-items.js
Normal file
|
@ -0,0 +1 @@
|
||||||
|
initSidebarItems({"struct":[["ArrayString","A string with a fixed capacity."],["ArrayVec","A vector with a fixed capacity."],["CapacityError","Error value indicating insufficient capacity"],["Drain","A draining iterator for `ArrayVec`."],["IntoIter","By-value iterator for `ArrayVec`."]],"trait":[["Array","Trait for fixed size arrays."],["RangeArgument","`RangeArgument` is implemented by Rust's built-in range types, produced by range syntax like `..`, `a..`, `..b` or `c..d`."]]});
|
401
arrayvec/struct.ArrayString.html
Normal file
401
arrayvec/struct.ArrayString.html
Normal file
|
@ -0,0 +1,401 @@
|
||||||
|
<!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 `ArrayString` struct in crate `arrayvec`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, ArrayString">
|
||||||
|
|
||||||
|
<title>arrayvec::ArrayString - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct ArrayString</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a><a href="#method.from">from</a><a href="#method.from_byte_string">from_byte_string</a><a href="#method.capacity">capacity</a><a href="#method.is_full">is_full</a><a href="#method.push">push</a><a href="#method.try_push">try_push</a><a href="#method.push_str">push_str</a><a href="#method.try_push_str">try_push_str</a><a href="#method.pop">pop</a><a href="#method.truncate">truncate</a><a href="#method.remove">remove</a><a href="#method.clear">clear</a><a href="#method.set_len">set_len</a><a href="#method.as_str">as_str</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Copy">Copy</a><a href="#impl-Default">Default</a><a href="#impl-Deref">Deref</a><a href="#impl-DerefMut">DerefMut</a><a href="#impl-PartialEq">PartialEq</a><a href="#impl-PartialEq%3Cstr%3E">PartialEq<str></a><a href="#impl-PartialEq%3CArrayString%3CA%3E%3E">PartialEq<ArrayString<A>></a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Borrow%3Cstr%3E">Borrow<str></a><a href="#impl-AsRef%3Cstr%3E">AsRef<str></a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Write">Write</a><a href="#impl-Clone">Clone</a><a href="#impl-PartialOrd">PartialOrd</a><a href="#impl-PartialOrd%3Cstr%3E">PartialOrd<str></a><a href="#impl-PartialOrd%3CArrayString%3CA%3E%3E">PartialOrd<ArrayString<A>></a><a href="#impl-Ord">Ord</a></div></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'ArrayString', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>arrayvec</a>::<wbr><a class="struct" href=''>ArrayString</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/arrayvec/array_string.rs.html#28-31' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct ArrayString<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> { /* fields omitted */ }</pre><div class='docblock'><p>A string with a fixed capacity.</p>
|
||||||
|
<p>The <code>ArrayString</code> is a string backed by a fixed size array. It keeps track
|
||||||
|
of its length.</p>
|
||||||
|
<p>The string is a contiguous value that you can store directly on the stack
|
||||||
|
if needed.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='methods' class='small-section-header'>
|
||||||
|
Methods<a href='#methods' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#40-345' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>pub fn <a href='#method.new' class='fnname'>new</a>() -> <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#53-60' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Create a new empty <code>ArrayString</code>.</p>
|
||||||
|
<p>Capacity is inferred from the type parameter.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">16</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
<span class="ident">string</span>.<span class="ident">push_str</span>(<span class="string">"foo"</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">string</span>[..], <span class="string">"foo"</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">string</span>.<span class="ident">capacity</span>(), <span class="number">16</span>);</pre>
|
||||||
|
</div><h4 id='method.from' class="method"><span id='from.v' class='invisible'><code>pub fn <a href='#method.from' class='fnname'>from</a>(s: &str) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><&str>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#76-80' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Create a new <code>ArrayString</code> from a <code>str</code>.</p>
|
||||||
|
<p>Capacity is inferred from the type parameter.</p>
|
||||||
|
<p><strong>Errors</strong> if the backing array is not large enough to fit the string.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">3</span>]<span class="op">></span>::<span class="ident">from</span>(<span class="string">"foo"</span>).<span class="ident">unwrap</span>();
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">string</span>[..], <span class="string">"foo"</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">string</span>.<span class="ident">len</span>(), <span class="number">3</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">string</span>.<span class="ident">capacity</span>(), <span class="number">3</span>);</pre>
|
||||||
|
</div><h4 id='method.from_byte_string' class="method"><span id='from_byte_string.v' class='invisible'><code>pub fn <a href='#method.from_byte_string' class='fnname'>from_byte_string</a>(b: &A) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="struct" href="https://doc.rust-lang.org/nightly/core/str/struct.Utf8Error.html" title="struct core::str::Utf8Error">Utf8Error</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#91-97' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Create a new <code>ArrayString</code> from a byte string literal.</p>
|
||||||
|
<p><strong>Errors</strong> if the byte string literal is not valid UTF-8.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="ident">from_byte_string</span>(<span class="string">b"hello world"</span>).<span class="ident">unwrap</span>();</pre>
|
||||||
|
</div><h4 id='method.capacity' class="method"><span id='capacity.v' class='invisible'><code>pub fn <a href='#method.capacity' class='fnname'>capacity</a>(&self) -> usize</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#108' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return the capacity of the <code>ArrayString</code>.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">3</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">string</span>.<span class="ident">capacity</span>(), <span class="number">3</span>);</pre>
|
||||||
|
</div><h4 id='method.is_full' class="method"><span id='is_full.v' class='invisible'><code>pub fn <a href='#method.is_full' class='fnname'>is_full</a>(&self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#120' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return if the <code>ArrayString</code> is completely filled.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">1</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="op">!</span><span class="ident">string</span>.<span class="ident">is_full</span>());
|
||||||
|
<span class="ident">string</span>.<span class="ident">push_str</span>(<span class="string">"A"</span>);
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">string</span>.<span class="ident">is_full</span>());</pre>
|
||||||
|
</div><h4 id='method.push' class="method"><span id='push.v' class='invisible'><code>pub fn <a href='#method.push' class='fnname'>push</a>(&mut self, c: char)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#136-138' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Adds the given char to the end of the string.</p>
|
||||||
|
<p><strong><em>Panics</em></strong> if the backing array is not large enough to fit the additional char.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">2</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
|
||||||
|
<span class="ident">string</span>.<span class="ident">push</span>(<span class="string">'a'</span>);
|
||||||
|
<span class="ident">string</span>.<span class="ident">push</span>(<span class="string">'b'</span>);
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">string</span>[..], <span class="string">"ab"</span>);</pre>
|
||||||
|
</div><h4 id='method.try_push' class="method"><span id='try_push.v' class='invisible'><code>pub fn <a href='#method.try_push' class='fnname'>try_push</a>(&mut self, c: char) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(), <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><char>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#158-169' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Adds the given char to the end of the string.</p>
|
||||||
|
<p>Returns <code>Ok</code> if the push succeeds.</p>
|
||||||
|
<p><strong>Errors</strong> if the backing array is not large enough to fit the additional char.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">2</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
|
||||||
|
<span class="ident">string</span>.<span class="ident">try_push</span>(<span class="string">'a'</span>).<span class="ident">unwrap</span>();
|
||||||
|
<span class="ident">string</span>.<span class="ident">try_push</span>(<span class="string">'b'</span>).<span class="ident">unwrap</span>();
|
||||||
|
<span class="kw">let</span> <span class="ident">overflow</span> <span class="op">=</span> <span class="ident">string</span>.<span class="ident">try_push</span>(<span class="string">'c'</span>);
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">string</span>[..], <span class="string">"ab"</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">overflow</span>.<span class="ident">unwrap_err</span>().<span class="ident">element</span>(), <span class="string">'c'</span>);</pre>
|
||||||
|
</div><h4 id='method.push_str' class="method"><span id='push_str.v' class='invisible'><code>pub fn <a href='#method.push_str' class='fnname'>push_str</a>(&mut self, s: &str)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#185-187' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Adds the given string slice to the end of the string.</p>
|
||||||
|
<p><strong><em>Panics</em></strong> if the backing array is not large enough to fit the string.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">2</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
|
||||||
|
<span class="ident">string</span>.<span class="ident">push_str</span>(<span class="string">"a"</span>);
|
||||||
|
<span class="ident">string</span>.<span class="ident">push_str</span>(<span class="string">"d"</span>);
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">string</span>[..], <span class="string">"ad"</span>);</pre>
|
||||||
|
</div><h4 id='method.try_push_str' class="method"><span id='try_push_str.v' class='invisible'><code>pub fn <a href='#method.try_push_str' class='fnname'>try_push_str</a><'a>(<br> &mut self, <br> s: &'a str<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(), <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><&'a str>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#209-221' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Adds the given string slice to the end of the string.</p>
|
||||||
|
<p>Returns <code>Ok</code> if the push succeeds.</p>
|
||||||
|
<p><strong>Errors</strong> if the backing array is not large enough to fit the string.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">2</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
|
||||||
|
<span class="ident">string</span>.<span class="ident">try_push_str</span>(<span class="string">"a"</span>).<span class="ident">unwrap</span>();
|
||||||
|
<span class="kw">let</span> <span class="ident">overflow1</span> <span class="op">=</span> <span class="ident">string</span>.<span class="ident">try_push_str</span>(<span class="string">"bc"</span>);
|
||||||
|
<span class="ident">string</span>.<span class="ident">try_push_str</span>(<span class="string">"d"</span>).<span class="ident">unwrap</span>();
|
||||||
|
<span class="kw">let</span> <span class="ident">overflow2</span> <span class="op">=</span> <span class="ident">string</span>.<span class="ident">try_push_str</span>(<span class="string">"ef"</span>);
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">string</span>[..], <span class="string">"ad"</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">overflow1</span>.<span class="ident">unwrap_err</span>().<span class="ident">element</span>(), <span class="string">"bc"</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">overflow2</span>.<span class="ident">unwrap_err</span>().<span class="ident">element</span>(), <span class="string">"ef"</span>);</pre>
|
||||||
|
</div><h4 id='method.pop' class="method"><span id='pop.v' class='invisible'><code>pub fn <a href='#method.pop' class='fnname'>pop</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><char></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#239-249' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Removes the last character from the string and returns it.</p>
|
||||||
|
<p>Returns <code>None</code> if this <code>ArrayString</code> is empty.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">s</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">3</span>]<span class="op">></span>::<span class="ident">from</span>(<span class="string">"foo"</span>).<span class="ident">unwrap</span>();
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">pop</span>(), <span class="prelude-val">Some</span>(<span class="string">'o'</span>));
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">pop</span>(), <span class="prelude-val">Some</span>(<span class="string">'o'</span>));
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">pop</span>(), <span class="prelude-val">Some</span>(<span class="string">'f'</span>));
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">pop</span>(), <span class="prelude-val">None</span>);</pre>
|
||||||
|
</div><h4 id='method.truncate' class="method"><span id='truncate.v' class='invisible'><code>pub fn <a href='#method.truncate' class='fnname'>truncate</a>(&mut self, new_len: usize)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#268-279' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Shortens this <code>ArrayString</code> to the specified length.</p>
|
||||||
|
<p>If <code>new_len</code> is greater than the string’s current length, this has no
|
||||||
|
effect.</p>
|
||||||
|
<p><strong><em>Panics</em></strong> if <code>new_len</code> does not lie on a <code>char</code> boundary.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">6</span>]<span class="op">></span>::<span class="ident">from</span>(<span class="string">"foobar"</span>).<span class="ident">unwrap</span>();
|
||||||
|
<span class="ident">string</span>.<span class="ident">truncate</span>(<span class="number">3</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">string</span>[..], <span class="string">"foo"</span>);
|
||||||
|
<span class="ident">string</span>.<span class="ident">truncate</span>(<span class="number">4</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">string</span>[..], <span class="string">"foo"</span>);</pre>
|
||||||
|
</div><h4 id='method.remove' class="method"><span id='remove.v' class='invisible'><code>pub fn <a href='#method.remove' class='fnname'>remove</a>(&mut self, idx: usize) -> char</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#299-314' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Removes a <code>char</code> from this <code>ArrayString</code> at a byte position and returns it.</p>
|
||||||
|
<p>This is an <code>O(n)</code> operation, as it requires copying every element in the
|
||||||
|
array.</p>
|
||||||
|
<p><strong><em>Panics</em></strong> if <code>idx</code> is larger than or equal to the <code>ArrayString</code>’s length,
|
||||||
|
or if it does not lie on a <code>char</code> boundary.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">s</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op"><</span>[_; <span class="number">3</span>]<span class="op">></span>::<span class="ident">from</span>(<span class="string">"foo"</span>).<span class="ident">unwrap</span>();
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">remove</span>(<span class="number">0</span>), <span class="string">'f'</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">remove</span>(<span class="number">1</span>), <span class="string">'o'</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">remove</span>(<span class="number">0</span>), <span class="string">'o'</span>);</pre>
|
||||||
|
</div><h4 id='method.clear' class="method"><span id='clear.v' class='invisible'><code>pub fn <a href='#method.clear' class='fnname'>clear</a>(&mut self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#317-321' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Make the string empty.</p>
|
||||||
|
</div><h4 id='method.set_len' class="method"><span id='set_len.v' class='invisible'><code>pub unsafe fn <a href='#method.set_len' class='fnname'>set_len</a>(&mut self, length: usize)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#331-334' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Set the strings’s length.</p>
|
||||||
|
<p>This function is <code>unsafe</code> because it changes the notion of the
|
||||||
|
number of “valid” bytes in the string. Use with care.</p>
|
||||||
|
<p>This method uses <em>debug assertions</em> to check the validity of <code>length</code>
|
||||||
|
and may use other debug assertions.</p>
|
||||||
|
</div><h4 id='method.as_str' class="method"><span id='as_str.v' class='invisible'><code>pub fn <a href='#method.as_str' class='fnname'>as_str</a>(&self) -> &str</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#337-339' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return a string slice of the whole <code>ArrayString</code>.</p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Copy' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Index" title="type arrayvec::Array::Index">Index</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>, </span></code><a href='#impl-Copy' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#27' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'></div><h3 id='impl-Default' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-Default' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#33-38' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.default' class="method"><span id='default.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default' class='fnname'>default</a>() -> <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#35-37' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return an empty <code>ArrayString</code></p>
|
||||||
|
</div></div><h3 id='impl-Deref' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-Deref' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#347-356' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='associatedtype.Target' class="type"><span id='Target.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target' class="type">Target</a> = str</code></span></h4>
|
||||||
|
<div class='docblock'><p>The resulting type after dereferencing.</p>
|
||||||
|
</div><h4 id='method.deref' class="method"><span id='deref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref' class='fnname'>deref</a>(&self) -> &str</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#350-355' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Dereferences the value.</p>
|
||||||
|
</div></div><h3 id='impl-DerefMut' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-DerefMut' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#358-367' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.deref_mut' class="method"><span id='deref_mut.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut' class='fnname'>deref_mut</a>(&mut self) -> &mut str</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#360-366' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Mutably dereferences the value.</p>
|
||||||
|
</div></div><h3 id='impl-PartialEq' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-PartialEq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#369-373' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&self, rhs: &Self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#370-372' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
|
||||||
|
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&self, other: &Rhs) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#121' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
|
||||||
|
</div></div><h3 id='impl-PartialEq%3Cstr%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><str> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-PartialEq%3Cstr%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#375-379' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.eq-1' class="method"><span id='eq.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&self, rhs: &str) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#376-378' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
|
||||||
|
</div><h4 id='method.ne-1' class="method"><span id='ne.v-1' class='invisible'><code>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><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#121' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
|
||||||
|
</div></div><h3 id='impl-PartialEq%3CArrayString%3CA%3E%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A>> for str</code><a href='#impl-PartialEq%3CArrayString%3CA%3E%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#381-385' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.eq-2' class="method"><span id='eq.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&self, rhs: &<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#382-384' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
|
||||||
|
</div><h4 id='method.ne-2' class="method"><span id='ne.v-2' class='invisible'><code>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><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#121' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
|
||||||
|
</div></div><h3 id='impl-Eq' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-Eq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#387' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'></div><h3 id='impl-Hash' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-Hash' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#389-393' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.hash' class="method"><span id='hash.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash' class='fnname'>hash</a><H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, h: &mut H)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#390-392' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Feeds this value into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
|
||||||
|
</div><h4 id='method.hash_slice' class="method"><span id='hash_slice.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice' class='fnname'>hash_slice</a><H>(data: &[Self], state: &mut H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.3.0'>1.3.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#202-208' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Feeds a slice of this type into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Borrow%3Cstr%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><str> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-Borrow%3Cstr%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#395-397' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.borrow' class="method"><span id='borrow.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&self) -> &str</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#396' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-AsRef%3Cstr%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><str> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-AsRef%3Cstr%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#399-401' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.as_ref' class="method"><span id='as_ref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref' class='fnname'>as_ref</a>(&self) -> &str</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#400' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs the conversion.</p>
|
||||||
|
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#403-405' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#404' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Display' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-Display' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#407-409' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.fmt-1' class="method"><span id='fmt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Display.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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#408' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Write' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-Write' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#412-420' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='docblock'><p><code>Write</code> appends written data to the end of the string.</p>
|
||||||
|
</div><div class='impl-items'><h4 id='method.write_char' class="method"><span id='write_char.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#method.write_char' class='fnname'>write_char</a>(&mut self, c: char) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#413-415' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Writes a [<code>char</code>] into this writer, returning whether the write succeeded. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#method.write_char">Read more</a></p>
|
||||||
|
</div><h4 id='method.write_str' class="method"><span id='write_str.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#tymethod.write_str' class='fnname'>write_str</a>(&mut self, s: &str) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#417-419' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Writes a slice of bytes into this writer, returning whether the write succeeded. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#tymethod.write_str">Read more</a></p>
|
||||||
|
</div><h4 id='method.write_fmt' class="method"><span id='write_fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#method.write_fmt' class='fnname'>write_fmt</a>(&mut self, args: <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Arguments.html" title="struct core::fmt::Arguments">Arguments</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(), <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#204-227' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Glue for usage of the [<code>write!</code>] macro with implementors of this trait. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#method.write_fmt">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Clone' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>> <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#422-431' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#423-425' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||||
|
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&mut self, rhs: &Self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#426-430' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-PartialOrd' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-PartialOrd' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#433-441' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&self, rhs: &Self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#434-436' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&self, rhs: &Self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#437' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
|
||||||
|
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&self, rhs: &Self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#438' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
|
||||||
|
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&self, rhs: &Self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#439' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
|
||||||
|
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&self, rhs: &Self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#440' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-PartialOrd%3Cstr%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><str> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-PartialOrd%3Cstr%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#443-451' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.partial_cmp-1' class="method"><span id='partial_cmp.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&self, rhs: &str) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#444-446' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.lt-1' class="method"><span id='lt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&self, rhs: &str) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#447' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
|
||||||
|
</div><h4 id='method.le-1' class="method"><span id='le.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&self, rhs: &str) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#448' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
|
||||||
|
</div><h4 id='method.gt-1' class="method"><span id='gt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&self, rhs: &str) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#449' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
|
||||||
|
</div><h4 id='method.ge-1' class="method"><span id='ge.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&self, rhs: &str) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#450' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-PartialOrd%3CArrayString%3CA%3E%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A>> for str</code><a href='#impl-PartialOrd%3CArrayString%3CA%3E%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#453-461' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.partial_cmp-2' class="method"><span id='partial_cmp.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&self, rhs: &<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#454-456' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.lt-2' class="method"><span id='lt.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&self, rhs: &<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#457' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
|
||||||
|
</div><h4 id='method.le-2' class="method"><span id='le.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&self, rhs: &<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#458' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
|
||||||
|
</div><h4 id='method.gt-2' class="method"><span id='gt.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&self, rhs: &<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#459' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
|
||||||
|
</div><h4 id='method.ge-2' class="method"><span id='ge.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&self, rhs: &<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#460' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Ord' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a><Item = u8>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a><A></code><a href='#impl-Ord' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#463-467' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp' class='fnname'>cmp</a>(&self, rhs: &Self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#464-466' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method returns an <code>Ordering</code> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max' class='fnname'>max</a>(self, other: Self) -> Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#460-463' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
|
||||||
|
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min' class='fnname'>min</a>(self, other: Self) -> Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#476-479' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
|
||||||
|
</div></div></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "arrayvec";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
544
arrayvec/struct.ArrayVec.html
Normal file
544
arrayvec/struct.ArrayVec.html
Normal file
|
@ -0,0 +1,544 @@
|
||||||
|
<!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 `ArrayVec` struct in crate `arrayvec`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, ArrayVec">
|
||||||
|
|
||||||
|
<title>arrayvec::ArrayVec - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct ArrayVec</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a><a href="#method.len">len</a><a href="#method.capacity">capacity</a><a href="#method.is_full">is_full</a><a href="#method.push">push</a><a href="#method.try_push">try_push</a><a href="#method.push_unchecked">push_unchecked</a><a href="#method.insert">insert</a><a href="#method.try_insert">try_insert</a><a href="#method.pop">pop</a><a href="#method.swap_remove">swap_remove</a><a href="#method.swap_pop">swap_pop</a><a href="#method.remove">remove</a><a href="#method.pop_at">pop_at</a><a href="#method.truncate">truncate</a><a href="#method.clear">clear</a><a href="#method.retain">retain</a><a href="#method.set_len">set_len</a><a href="#method.drain">drain</a><a href="#method.into_inner">into_inner</a><a href="#method.dispose">dispose</a><a href="#method.as_slice">as_slice</a><a href="#method.as_mut_slice">as_mut_slice</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Drop">Drop</a><a href="#impl-Deref">Deref</a><a href="#impl-DerefMut">DerefMut</a><a href="#impl-From%3CA%3E">From<A></a><a href="#impl-IntoIterator">IntoIterator</a><a href="#impl-Extend%3CA%3A%3AItem%3E">Extend<A::Item></a><a href="#impl-FromIterator%3CA%3A%3AItem%3E">FromIterator<A::Item></a><a href="#impl-Clone">Clone</a><a href="#impl-Hash">Hash</a><a href="#impl-PartialEq">PartialEq</a><a href="#impl-PartialEq%3C%5BA%3A%3AItem%5D%3E">PartialEq<[A::Item]></a><a href="#impl-Eq">Eq</a><a href="#impl-Borrow%3C%5BA%3A%3AItem%5D%3E">Borrow<[A::Item]></a><a href="#impl-BorrowMut%3C%5BA%3A%3AItem%5D%3E">BorrowMut<[A::Item]></a><a href="#impl-AsRef%3C%5BA%3A%3AItem%5D%3E">AsRef<[A::Item]></a><a href="#impl-AsMut%3C%5BA%3A%3AItem%5D%3E">AsMut<[A::Item]></a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-PartialOrd">PartialOrd</a><a href="#impl-Ord">Ord</a></div></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'ArrayVec', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>arrayvec</a>::<wbr><a class="struct" href=''>ArrayVec</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/arrayvec/lib.rs.html#95-98' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct ArrayVec<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> { /* fields omitted */ }</pre><div class='docblock'><p>A vector with a fixed capacity.</p>
|
||||||
|
<p>The <code>ArrayVec</code> is a vector backed by a fixed size array. It keeps track of
|
||||||
|
the number of initialized elements.</p>
|
||||||
|
<p>The vector is a contiguous value that you can store directly on the stack
|
||||||
|
if needed.</p>
|
||||||
|
<p>It offers a simple API but also dereferences to a slice, so
|
||||||
|
that the full slice API is available.</p>
|
||||||
|
<p>ArrayVec can be converted into a by value iterator.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='methods' class='small-section-header'>
|
||||||
|
Methods<a href='#methods' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#117-598' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>pub fn <a href='#method.new' class='fnname'>new</a>() -> <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#131-135' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Create a new empty <code>ArrayVec</code>.</p>
|
||||||
|
<p>Capacity is inferred from the type parameter.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op"><</span>[_; <span class="number">16</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">1</span>);
|
||||||
|
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">2</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">1</span>, <span class="number">2</span>]);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">capacity</span>(), <span class="number">16</span>);</pre>
|
||||||
|
</div><h4 id='method.len' class="method"><span id='len.v' class='invisible'><code>pub fn <a href='#method.len' class='fnname'>len</a>(&self) -> usize</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#147' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return the number of elements in the <code>ArrayVec</code>.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
|
||||||
|
<span class="ident">array</span>.<span class="ident">pop</span>();
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">len</span>(), <span class="number">2</span>);</pre>
|
||||||
|
</div><h4 id='method.capacity' class="method"><span id='capacity.v' class='invisible'><code>pub fn <a href='#method.capacity' class='fnname'>capacity</a>(&self) -> usize</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#158' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return the capacity of the <code>ArrayVec</code>.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</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="ident">capacity</span>(), <span class="number">3</span>);</pre>
|
||||||
|
</div><h4 id='method.is_full' class="method"><span id='is_full.v' class='invisible'><code>pub fn <a href='#method.is_full' class='fnname'>is_full</a>(&self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#170' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return if the <code>ArrayVec</code> is completely filled.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op"><</span>[_; <span class="number">1</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="op">!</span><span class="ident">array</span>.<span class="ident">is_full</span>());
|
||||||
|
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">1</span>);
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">is_full</span>());</pre>
|
||||||
|
</div><h4 id='method.push' class="method"><span id='push.v' class='invisible'><code>pub fn <a href='#method.push' class='fnname'>push</a>(&mut self, element: A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#186-188' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Push <code>element</code> to the end of the vector.</p>
|
||||||
|
<p><strong><em>Panics</em></strong> if the vector is already full.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op"><</span>[_; <span class="number">2</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
|
||||||
|
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">1</span>);
|
||||||
|
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">2</span>);
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">1</span>, <span class="number">2</span>]);</pre>
|
||||||
|
</div><h4 id='method.try_push' class="method"><span id='try_push.v' class='invisible'><code>pub fn <a href='#method.try_push' class='fnname'>try_push</a>(<br> &mut self, <br> element: A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(), <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#212-221' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Push <code>element</code> to the end of the vector.</p>
|
||||||
|
<p>Return <code>Ok</code> if the push succeeds, or return an error if the vector
|
||||||
|
is already full.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op"><</span>[_; <span class="number">2</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="ident">push1</span> <span class="op">=</span> <span class="ident">array</span>.<span class="ident">try_push</span>(<span class="number">1</span>);
|
||||||
|
<span class="kw">let</span> <span class="ident">push2</span> <span class="op">=</span> <span class="ident">array</span>.<span class="ident">try_push</span>(<span class="number">2</span>);
|
||||||
|
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">push1</span>.<span class="ident">is_ok</span>());
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">push2</span>.<span class="ident">is_ok</span>());
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">1</span>, <span class="number">2</span>]);
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="ident">overflow</span> <span class="op">=</span> <span class="ident">array</span>.<span class="ident">try_push</span>(<span class="number">3</span>);
|
||||||
|
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">overflow</span>.<span class="ident">is_err</span>());</pre>
|
||||||
|
</div><h4 id='method.push_unchecked' class="method"><span id='push_unchecked.v' class='invisible'><code>pub unsafe fn <a href='#method.push_unchecked' class='fnname'>push_unchecked</a>(&mut self, element: A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#246-251' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Push <code>element</code> to the end of the vector without checking the capacity.</p>
|
||||||
|
<p>It is up to the caller to ensure the capacity of the vector is
|
||||||
|
sufficiently large.</p>
|
||||||
|
<p>This method uses <em>debug assertions</em> to check that the arrayvec is not full.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op"><</span>[_; <span class="number">2</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
|
||||||
|
<span class="kw">if</span> <span class="ident">array</span>.<span class="ident">len</span>() <span class="op">+</span> <span class="number">2</span> <span class="op"><=</span> <span class="ident">array</span>.<span class="ident">capacity</span>() {
|
||||||
|
<span class="kw">unsafe</span> {
|
||||||
|
<span class="ident">array</span>.<span class="ident">push_unchecked</span>(<span class="number">1</span>);
|
||||||
|
<span class="ident">array</span>.<span class="ident">push_unchecked</span>(<span class="number">2</span>);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">1</span>, <span class="number">2</span>]);</pre>
|
||||||
|
</div><h4 id='method.insert' class="method"><span id='insert.v' class='invisible'><code>pub fn <a href='#method.insert' class='fnname'>insert</a>(&mut self, index: usize, element: A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#272-274' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Insert <code>element</code> at position <code>index</code>.</p>
|
||||||
|
<p>Shift up all elements after <code>index</code>.</p>
|
||||||
|
<p>It is an error if the index is greater than the length or if the
|
||||||
|
arrayvec is full.</p>
|
||||||
|
<p><strong><em>Panics</em></strong> on errors. See <code>try_result</code> for fallible version.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op"><</span>[_; <span class="number">2</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
|
||||||
|
<span class="ident">array</span>.<span class="ident">insert</span>(<span class="number">0</span>, <span class="string">"x"</span>);
|
||||||
|
<span class="ident">array</span>.<span class="ident">insert</span>(<span class="number">0</span>, <span class="string">"y"</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="string">"y"</span>, <span class="string">"x"</span>]);
|
||||||
|
</pre>
|
||||||
|
</div><h4 id='method.try_insert' class="method"><span id='try_insert.v' class='invisible'><code>pub fn <a href='#method.try_insert' class='fnname'>try_insert</a>(<br> &mut self, <br> index: usize, <br> element: A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(), <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#296-320' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Insert <code>element</code> at position <code>index</code>.</p>
|
||||||
|
<p>Shift up all elements after <code>index</code>; the <code>index</code> must be less than
|
||||||
|
or equal to the length.</p>
|
||||||
|
<p>Returns an error if vector is already at full capacity.</p>
|
||||||
|
<p><strong><em>Panics</em></strong> <code>index</code> is out of bounds.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op"><</span>[_; <span class="number">2</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">try_insert</span>(<span class="number">0</span>, <span class="string">"x"</span>).<span class="ident">is_ok</span>());
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">try_insert</span>(<span class="number">0</span>, <span class="string">"y"</span>).<span class="ident">is_ok</span>());
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">try_insert</span>(<span class="number">0</span>, <span class="string">"z"</span>).<span class="ident">is_err</span>());
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="string">"y"</span>, <span class="string">"x"</span>]);
|
||||||
|
</pre>
|
||||||
|
</div><h4 id='method.pop' class="method"><span id='pop.v' class='invisible'><code>pub fn <a href='#method.pop' class='fnname'>pop</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><A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#336-345' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Remove the last element in the vector and return it.</p>
|
||||||
|
<p>Return <code>Some(</code> <em>element</em> <code>)</code> if the vector is non-empty, else <code>None</code>.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op"><</span>[_; <span class="number">2</span>]<span class="op">></span>::<span class="ident">new</span>();
|
||||||
|
|
||||||
|
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">1</span>);
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">pop</span>(), <span class="prelude-val">Some</span>(<span class="number">1</span>));
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">pop</span>(), <span class="prelude-val">None</span>);</pre>
|
||||||
|
</div><h4 id='method.swap_remove' class="method"><span id='swap_remove.v' class='invisible'><code>pub fn <a href='#method.swap_remove' class='fnname'>swap_remove</a>(&mut self, index: usize) -> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#366-371' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Remove the element at <code>index</code> and swap the last element into its place.</p>
|
||||||
|
<p>This operation is O(1).</p>
|
||||||
|
<p>Return the <em>element</em> if the index is in bounds, else panic.</p>
|
||||||
|
<p><strong><em>Panics</em></strong> if the <code>index</code> is out of bounds.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</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="ident">swap_remove</span>(<span class="number">0</span>), <span class="number">1</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">3</span>, <span class="number">2</span>]);
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">swap_remove</span>(<span class="number">1</span>), <span class="number">2</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">3</span>]);</pre>
|
||||||
|
</div><h4 id='method.swap_pop' class="method"><span id='swap_pop.v' class='invisible'><code>pub fn <a href='#method.swap_pop' class='fnname'>swap_pop</a>(&mut self, index: usize) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#390-397' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Remove the element at <code>index</code> and swap the last element into its place.</p>
|
||||||
|
<p>This is a checked version of <code>.swap_remove</code>.<br />
|
||||||
|
This operation is O(1).</p>
|
||||||
|
<p>Return <code>Some(</code> <em>element</em> <code>)</code> if the index is in bounds, else <code>None</code>.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</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="ident">swap_pop</span>(<span class="number">0</span>), <span class="prelude-val">Some</span>(<span class="number">1</span>));
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">3</span>, <span class="number">2</span>]);
|
||||||
|
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">swap_pop</span>(<span class="number">10</span>), <span class="prelude-val">None</span>);</pre>
|
||||||
|
</div><h4 id='method.remove' class="method"><span id='remove.v' class='invisible'><code>pub fn <a href='#method.remove' class='fnname'>remove</a>(&mut self, index: usize) -> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#414-419' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Remove the element at <code>index</code> and shift down the following elements.</p>
|
||||||
|
<p>The <code>index</code> must be strictly less than the length of the vector.</p>
|
||||||
|
<p><strong><em>Panics</em></strong> if the <code>index</code> is out of bounds.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="ident">removed_elt</span> <span class="op">=</span> <span class="ident">array</span>.<span class="ident">remove</span>(<span class="number">0</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">removed_elt</span>, <span class="number">1</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">2</span>, <span class="number">3</span>]);</pre>
|
||||||
|
</div><h4 id='method.pop_at' class="method"><span id='pop_at.v' class='invisible'><code>pub fn <a href='#method.pop_at' class='fnname'>pop_at</a>(&mut self, index: usize) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#437-443' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Remove the element at <code>index</code> and shift down the following elements.</p>
|
||||||
|
<p>This is a checked version of <code>.remove(index)</code>. Returns <code>None</code> if there
|
||||||
|
is no element at <code>index</code>. Otherwise, return the element inside <code>Some</code>.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
|
||||||
|
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">pop_at</span>(<span class="number">0</span>).<span class="ident">is_some</span>());
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">2</span>, <span class="number">3</span>]);
|
||||||
|
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">pop_at</span>(<span class="number">2</span>).<span class="ident">is_none</span>());
|
||||||
|
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">pop_at</span>(<span class="number">10</span>).<span class="ident">is_none</span>());</pre>
|
||||||
|
</div><h4 id='method.truncate' class="method"><span id='truncate.v' class='invisible'><code>pub fn <a href='#method.truncate' class='fnname'>truncate</a>(&mut self, len: usize)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#460-462' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Shortens the vector, keeping the first <code>len</code> elements and dropping
|
||||||
|
the rest.</p>
|
||||||
|
<p>If <code>len</code> is greater than the vector’s current length this has no
|
||||||
|
effect.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
|
||||||
|
<span class="ident">array</span>.<span class="ident">truncate</span>(<span class="number">3</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
|
||||||
|
<span class="ident">array</span>.<span class="ident">truncate</span>(<span class="number">4</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);</pre>
|
||||||
|
</div><h4 id='method.clear' class="method"><span id='clear.v' class='invisible'><code>pub fn <a href='#method.clear' class='fnname'>clear</a>(&mut self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#465-467' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Remove all elements in the vector.</p>
|
||||||
|
</div><h4 id='method.retain' class="method"><span id='retain.v' class='invisible'><code>pub fn <a href='#method.retain' class='fnname'>retain</a><F>(&mut self, f: F) <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>(&mut A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#482-501' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Retains only the elements specified by the predicate.</p>
|
||||||
|
<p>In other words, remove all elements <code>e</code> such that <code>f(&mut e)</code> returns false.
|
||||||
|
This method operates in place and preserves the order of the retained
|
||||||
|
elements.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);
|
||||||
|
<span class="ident">array</span>.<span class="ident">retain</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="kw-2">*</span><span class="ident">x</span> <span class="op">&</span> <span class="number">1</span> <span class="op">!=</span> <span class="number">0</span> );
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">array</span>[..], <span class="kw-2">&</span>[<span class="number">1</span>, <span class="number">3</span>]);</pre>
|
||||||
|
</div><h4 id='method.set_len' class="method"><span id='set_len.v' class='invisible'><code>pub unsafe fn <a href='#method.set_len' class='fnname'>set_len</a>(&mut self, length: usize)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#511-514' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Set the vector’s length without dropping or moving out elements</p>
|
||||||
|
<p>This method is <code>unsafe</code> because it changes the notion of the
|
||||||
|
number of “valid” elements in the vector. Use with care.</p>
|
||||||
|
<p>This method uses <em>debug assertions</em> to check that check that <code>length</code> is
|
||||||
|
not greater than the capacity.</p>
|
||||||
|
</div><h4 id='method.drain' class="method"><div class="important-traits"><div class='tooltip'>ⓘ<span class='tooltiptext'>Important traits for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a><'a, A></span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a><'a, A></h3><code class="content"><span class="where fmt-newline">impl<'a, A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a> for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a><'a, A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a, </span></span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>;</span></code></div></div><span id='drain.v' class='invisible'><code>pub fn <a href='#method.drain' class='fnname'>drain</a><R: <a class="trait" href="../arrayvec/trait.RangeArgument.html" title="trait arrayvec::RangeArgument">RangeArgument</a>>(&mut self, range: R) -> <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a><A></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#535-562' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Create a draining iterator that removes the specified range in the vector
|
||||||
|
and yields the removed items from start to end. The element range is
|
||||||
|
removed even if the iterator is not consumed until the end.</p>
|
||||||
|
<p>Note: It is unspecified how many elements are removed from the vector,
|
||||||
|
if the <code>Drain</code> value is leaked.</p>
|
||||||
|
<p><strong>Panics</strong> if the starting point is greater than the end point or if
|
||||||
|
the end point is greater than the length of the vector.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
|
||||||
|
<span class="kw">let</span> <span class="ident">u</span>: <span class="ident">ArrayVec</span><span class="op"><</span>[_; <span class="number">3</span>]<span class="op">></span> <span class="op">=</span> <span class="ident">v</span>.<span class="ident">drain</span>(<span class="number">0</span>..<span class="number">2</span>).<span class="ident">collect</span>();
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">v</span>[..], <span class="kw-2">&</span>[<span class="number">3</span>]);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">u</span>[..], <span class="kw-2">&</span>[<span class="number">1</span>, <span class="number">2</span>]);</pre>
|
||||||
|
</div><h4 id='method.into_inner' class="method"><span id='into_inner.v' class='invisible'><code>pub fn <a href='#method.into_inner' class='fnname'>into_inner</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><A, Self></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#571-581' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return the inner fixed size array, if it is full to its capacity.</p>
|
||||||
|
<p>Return an <code>Ok</code> value with the array if length equals capacity,
|
||||||
|
return an <code>Err</code> with self otherwise.</p>
|
||||||
|
<p><code>Note:</code> This function may incur unproportionally large overhead
|
||||||
|
to move the array out, its performance is not optimal.</p>
|
||||||
|
</div><h4 id='method.dispose' class="method"><span id='dispose.v' class='invisible'><code>pub fn <a href='#method.dispose' class='fnname'>dispose</a>(self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#584-587' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Dispose of <code>self</code> without the overwriting that is needed in Drop.</p>
|
||||||
|
</div><h4 id='method.as_slice' class="method"><span id='as_slice.v' class='invisible'><code>pub fn <a href='#method.as_slice' class='fnname'>as_slice</a>(&self) -> &[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#590-592' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return a slice containing all elements of the vector.</p>
|
||||||
|
</div><h4 id='method.as_mut_slice' class="method"><span id='as_mut_slice.v' class='invisible'><code>pub fn <a href='#method.as_mut_slice' class='fnname'>as_mut_slice</a>(&mut self) -> &mut [A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#595-597' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return a mutable slice containing all elements of the vector.</p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Drop' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-Drop' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#100-108' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.drop' class="method"><span id='drop.v' class='invisible'><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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#101-107' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><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-Deref' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-Deref' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#600-608' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='associatedtype.Target' class="type"><span id='Target.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target' class="type">Target</a> = [A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span></h4>
|
||||||
|
<div class='docblock'><p>The resulting type after dereferencing.</p>
|
||||||
|
</div><h4 id='method.deref' class="method"><span id='deref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref' class='fnname'>deref</a>(&self) -> &[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#603-607' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Dereferences the value.</p>
|
||||||
|
</div></div><h3 id='impl-DerefMut' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-DerefMut' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#610-618' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.deref_mut' class="method"><span id='deref_mut.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut' class='fnname'>deref_mut</a>(&mut self) -> &mut [A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#612-617' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Mutably dereferences the value.</p>
|
||||||
|
</div></div><h3 id='impl-From%3CA%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><A> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-From%3CA%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#629-633' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='docblock'><p>Create an <code>ArrayVec</code> from an array.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</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="ident">len</span>(), <span class="number">3</span>);
|
||||||
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">capacity</span>(), <span class="number">3</span>);</pre>
|
||||||
|
</div><div class='impl-items'><h4 id='method.from' class="method"><span id='from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(array: A) -> Self</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#630-632' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs the conversion.</p>
|
||||||
|
</div></div><h3 id='impl-IntoIterator' class='impl'><span class='in-band'><code>impl<'a, A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a> for &'a <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-IntoIterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#647-651' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='docblock'><p>Iterate the <code>ArrayVec</code> with references to each element.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
|
||||||
|
|
||||||
|
<span class="kw">for</span> <span class="ident">elt</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="ident">array</span> {
|
||||||
|
<span class="comment">// ...</span>
|
||||||
|
}</pre>
|
||||||
|
</div><div class='impl-items'><h4 id='associatedtype.Item' class="type"><span id='Item.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item' class="type">Item</a> = &'a A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span></h4>
|
||||||
|
<div class='docblock'><p>The type of the elements being iterated over.</p>
|
||||||
|
</div><h4 id='associatedtype.IntoIter' class="type"><span id='IntoIter.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter' class="type">IntoIter</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/struct.Iter.html" title="struct core::slice::Iter">Iter</a><'a, A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>></code></span></h4>
|
||||||
|
<div class='docblock'><p>Which kind of iterator are we turning this into?</p>
|
||||||
|
</div><h4 id='method.into_iter' class="method"><span id='into_iter.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/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/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#650' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-IntoIterator-1' class='impl'><span class='in-band'><code>impl<'a, A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a> for &'a mut <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-IntoIterator-1' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#664-668' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='docblock'><p>Iterate the <code>ArrayVec</code> with mutable references to each element.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
|
||||||
|
|
||||||
|
<span class="kw">for</span> <span class="ident">elt</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">array</span> {
|
||||||
|
<span class="comment">// ...</span>
|
||||||
|
}</pre>
|
||||||
|
</div><div class='impl-items'><h4 id='associatedtype.Item-1' class="type"><span id='Item.t-1' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item' class="type">Item</a> = &'a mut A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span></h4>
|
||||||
|
<div class='docblock'><p>The type of the elements being iterated over.</p>
|
||||||
|
</div><h4 id='associatedtype.IntoIter-1' class="type"><span id='IntoIter.t-1' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter' class="type">IntoIter</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/struct.IterMut.html" title="struct core::slice::IterMut">IterMut</a><'a, A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>></code></span></h4>
|
||||||
|
<div class='docblock'><p>Which kind of iterator are we turning this into?</p>
|
||||||
|
</div><h4 id='method.into_iter-1' class="method"><span id='into_iter.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/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/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#667' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-IntoIterator-2' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-IntoIterator-2' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#681-687' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='docblock'><p>Iterate the <code>ArrayVec</code> with each element by value.</p>
|
||||||
|
<p>The vector is consumed by this operation.</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
|
||||||
|
|
||||||
|
<span class="kw">for</span> <span class="ident">elt</span> <span class="kw">in</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]) {
|
||||||
|
<span class="comment">// ...</span>
|
||||||
|
}</pre>
|
||||||
|
</div><div class='impl-items'><h4 id='associatedtype.Item-2' class="type"><span id='Item.t-2' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item' class="type">Item</a> = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span></h4>
|
||||||
|
<div class='docblock'><p>The type of the elements being iterated over.</p>
|
||||||
|
</div><h4 id='associatedtype.IntoIter-2' class="type"><span id='IntoIter.t-2' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter' class="type">IntoIter</a> = <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a><A></code></span></h4>
|
||||||
|
<div class='docblock'><p>Which kind of iterator are we turning this into?</p>
|
||||||
|
</div><h4 id='method.into_iter-2' class="method"><div class="important-traits"><div class='tooltip'>ⓘ<span class='tooltiptext'>Important traits for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a><A></span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a><A></h3><code class="content"><span class="where fmt-newline">impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a> for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a><A></span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>;</span></code></div></div><span id='into_iter.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#tymethod.into_iter' class='fnname'>into_iter</a>(self) -> <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a><A></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#684-686' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Extend%3CA%3A%3AItem%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a><A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-Extend%3CA%3A%3AItem%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#848-872' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='docblock'><p>Extend the <code>ArrayVec</code> with an iterator.</p>
|
||||||
|
<p>Does not extract more items than there is space for. No error
|
||||||
|
occurs if there are more iterator elements.</p>
|
||||||
|
</div><div class='impl-items'><h4 id='method.extend' class="method"><span id='extend.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html#tymethod.extend' class='fnname'>extend</a><T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a><Item = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>>>(&mut self, iter: T)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#849-871' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html#tymethod.extend">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-FromIterator%3CA%3A%3AItem%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html" title="trait core::iter::traits::FromIterator">FromIterator</a><A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-FromIterator%3CA%3A%3AItem%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#878-884' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='docblock'><p>Create an <code>ArrayVec</code> from an iterator.</p>
|
||||||
|
<p>Does not extract more items than there is space for. No error
|
||||||
|
occurs if there are more iterator elements.</p>
|
||||||
|
</div><div class='impl-items'><h4 id='method.from_iter' class="method"><span id='from_iter.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html#tymethod.from_iter' class='fnname'>from_iter</a><T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a><Item = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>>>(iter: T) -> Self</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#879-883' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html#tymethod.from_iter">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Clone' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#886-914' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> Self</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#889-891' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||||
|
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&mut self, rhs: &Self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#893-913' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Hash' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>, </span></code><a href='#impl-Hash' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#916-922' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.hash' class="method"><span id='hash.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash' class='fnname'>hash</a><H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: &mut H)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#919-921' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Feeds this value into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
|
||||||
|
</div><h4 id='method.hash_slice' class="method"><span id='hash_slice.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice' class='fnname'>hash_slice</a><H>(data: &[Self], state: &mut H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.3.0'>1.3.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#202-208' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Feeds a slice of this type into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-PartialEq' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, </span></code><a href='#impl-PartialEq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#924-930' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&self, other: &Self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#927-929' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
|
||||||
|
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&self, other: &Rhs) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#121' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
|
||||||
|
</div></div><h3 id='impl-PartialEq%3C%5BA%3A%3AItem%5D%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, </span></code><a href='#impl-PartialEq%3C%5BA%3A%3AItem%5D%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#932-938' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.eq-1' class="method"><span id='eq.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&self, other: &[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#935-937' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
|
||||||
|
</div><h4 id='method.ne-1' class="method"><span id='ne.v-1' class='invisible'><code>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><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#121' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
|
||||||
|
</div></div><h3 id='impl-Eq' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>, </span></code><a href='#impl-Eq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#940' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'></div><h3 id='impl-Borrow%3C%5BA%3A%3AItem%5D%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-Borrow%3C%5BA%3A%3AItem%5D%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#942-944' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.borrow' class="method"><span id='borrow.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&self) -> &[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#943' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-BorrowMut%3C%5BA%3A%3AItem%5D%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-BorrowMut%3C%5BA%3A%3AItem%5D%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#946-948' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.borrow_mut' class="method"><span id='borrow_mut.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut' class='fnname'>borrow_mut</a>(&mut self) -> &mut [A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#947' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-AsRef%3C%5BA%3A%3AItem%5D%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-AsRef%3C%5BA%3A%3AItem%5D%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#950-952' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.as_ref' class="method"><span id='as_ref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref' class='fnname'>as_ref</a>(&self) -> &[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#951' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs the conversion.</p>
|
||||||
|
</div></div><h3 id='impl-AsMut%3C%5BA%3A%3AItem%5D%3E' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a><[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-AsMut%3C%5BA%3A%3AItem%5D%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#954-956' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.as_mut' class="method"><span id='as_mut.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html#tymethod.as_mut' class='fnname'>as_mut</a>(&mut self) -> &mut [A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#955' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs the conversion.</p>
|
||||||
|
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, </span></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#958-960' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#959' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Default' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code><a href='#impl-Default' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#962-967' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.default' class="method"><span id='default.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default' class='fnname'>default</a>() -> <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#964-966' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Return an empty array</p>
|
||||||
|
</div></div><h3 id='impl-PartialOrd' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>, </span></code><a href='#impl-PartialOrd' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#969-994' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&self, other: &<a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#971-973' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&self, other: &Self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#976-978' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
|
||||||
|
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&self, other: &Self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#981-983' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
|
||||||
|
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&self, other: &Self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#986-988' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
|
||||||
|
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&self, other: &Self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#991-993' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Ord' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, </span></code><a href='#impl-Ord' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#996-1000' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp' class='fnname'>cmp</a>(&self, other: &<a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a><A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#997-999' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method returns an <code>Ordering</code> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max' class='fnname'>max</a>(self, other: Self) -> Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#460-463' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
|
||||||
|
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min' class='fnname'>min</a>(self, other: Self) -> Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#476-479' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
|
||||||
|
</div></div></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "arrayvec";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
179
arrayvec/struct.CapacityError.html
Normal file
179
arrayvec/struct.CapacityError.html
Normal file
|
@ -0,0 +1,179 @@
|
||||||
|
<!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 `CapacityError` struct in crate `arrayvec`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, CapacityError">
|
||||||
|
|
||||||
|
<title>arrayvec::CapacityError - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct CapacityError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a><a href="#method.element">element</a><a href="#method.simplify">simplify</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Eq">Eq</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq">PartialEq</a><a href="#impl-PartialOrd">PartialOrd</a><a href="#impl-Display">Display</a><a href="#impl-Debug">Debug</a></div></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'CapacityError', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>arrayvec</a>::<wbr><a class="struct" href=''>CapacityError</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/arrayvec/errors.rs.html#9-11' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct CapacityError<T = ()> { /* fields omitted */ }</pre><div class='docblock'><p>Error value indicating insufficient capacity</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='methods' class='small-section-header'>
|
||||||
|
Methods<a href='#methods' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl' class='impl'><span class='in-band'><code>impl<T> <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#13-30' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>pub fn <a href='#method.new' class='fnname'>new</a>(element: T) -> <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#15-19' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Create a new <code>CapacityError</code> from <code>element</code>.</p>
|
||||||
|
</div><h4 id='method.element' class="method"><span id='element.v' class='invisible'><code>pub fn <a href='#method.element' class='fnname'>element</a>(self) -> T</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#22-24' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Extract the overflowing element</p>
|
||||||
|
</div><h4 id='method.simplify' class="method"><span id='simplify.v' class='invisible'><code>pub fn <a href='#method.simplify' class='fnname'>simplify</a>(self) -> <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#27-29' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Convert into a <code>CapacityError</code> that does not carry an element.</p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Clone' class='impl'><span class='in-band'><code>impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||||
|
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&mut self, source: &Self)</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#112-114' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Copy' class='impl'><span class='in-band'><code>impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code><a href='#impl-Copy' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'></div><h3 id='impl-Eq' class='impl'><span class='in-band'><code>impl<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="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code><a href='#impl-Eq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'></div><h3 id='impl-Ord' class='impl'><span class='in-band'><code>impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code><a href='#impl-Ord' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp' class='fnname'>cmp</a>(&self, __arg_0: &<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method returns an <code>Ordering</code> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max' class='fnname'>max</a>(self, other: Self) -> Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#460-463' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
|
||||||
|
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min' class='fnname'>min</a>(self, other: Self) -> Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#476-479' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-PartialEq' class='impl'><span class='in-band'><code>impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code><a href='#impl-PartialEq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&self, __arg_0: &<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
|
||||||
|
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&self, __arg_0: &<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
|
||||||
|
</div></div><h3 id='impl-PartialOrd' class='impl'><span class='in-band'><code>impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code><a href='#impl-PartialOrd' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&self, __arg_0: &<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&self, __arg_0: &<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
|
||||||
|
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&self, __arg_0: &<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
|
||||||
|
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&self, __arg_0: &<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
|
||||||
|
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&self, __arg_0: &<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T>) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Display' class='impl'><span class='in-band'><code>impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code><a href='#impl-Display' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#42-46' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Display.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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#43-45' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl<T> <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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a><T></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#48-52' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.fmt-1' class="method"><span id='fmt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#49-51' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||||
|
</div></div></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "arrayvec";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
259
arrayvec/struct.Drain.html
Normal file
259
arrayvec/struct.Drain.html
Normal file
|
@ -0,0 +1,259 @@
|
||||||
|
<!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 `Drain` struct in crate `arrayvec`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, Drain">
|
||||||
|
|
||||||
|
<title>arrayvec::Drain - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct Drain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Sync">Sync</a><a href="#impl-Send">Send</a><a href="#impl-Iterator">Iterator</a><a href="#impl-DoubleEndedIterator">DoubleEndedIterator</a><a href="#impl-ExactSizeIterator">ExactSizeIterator</a><a href="#impl-Drop">Drop</a></div></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'Drain', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>arrayvec</a>::<wbr><a class="struct" href=''>Drain</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/arrayvec/lib.rs.html#751-762' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct Drain<'a, A> <span class="where fmt-newline">where<br> A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>,<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a, </span> { /* fields omitted */ }</pre><div class='docblock'><p>A draining iterator for <code>ArrayVec</code>.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Sync' class='impl'><span class='in-band'><code>impl<'a, A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>> <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="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a><'a, A></code><a href='#impl-Sync' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#764' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'></div><h3 id='impl-Send' class='impl'><span class='in-band'><code>impl<'a, A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> <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="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a><'a, A></code><a href='#impl-Send' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#765' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'></div><h3 id='impl-Iterator' class='impl'><span class='in-band'><code>impl<'a, A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a> for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a><'a, A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a, </span></code><a href='#impl-Iterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#767-785' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='associatedtype.Item' class="type"><span id='Item.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span></h4>
|
||||||
|
<div class='docblock'><p>The type of the elements being iterated over.</p>
|
||||||
|
</div><h4 id='method.next' class="method"><span id='next.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#773-779' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#tymethod.next">Read more</a></p>
|
||||||
|
</div><h4 id='method.size_hint' class="method"><span id='size_hint.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#782-784' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the bounds on the remaining length of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.size_hint">Read more</a></p>
|
||||||
|
</div><h4 id='method.count' class="method"><span id='count.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.count' class='fnname'>count</a>(self) -> usize</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#187-190' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Consumes the iterator, counting the number of iterations and returning it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.count">Read more</a></p>
|
||||||
|
</div><h4 id='method.last' class="method"><span id='last.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#213-217' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Consumes the iterator, returning the last element. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.last">Read more</a></p>
|
||||||
|
</div><h4 id='method.nth' class="method"><span id='nth.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#262-268' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the <code>n</code>th element of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.nth">Read more</a></p>
|
||||||
|
</div><h4 id='method.step_by' class="method"><span id='step_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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/struct.StepBy.html" title="struct core::iter::StepBy">StepBy</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#298-301' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><details><summary><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_step_by</code>)</summary><p>unstable replacement of Range::step_by</p>
|
||||||
|
</details></div></div><div class='docblock'><p>Creates an iterator starting at the same point, but stepping by the given amount at each iteration. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.step_by">Read more</a></p>
|
||||||
|
</div><h4 id='method.chain' class="method"><span id='chain.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.chain' class='fnname'>chain</a><U>(self, other: U) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Chain.html" title="struct core::iter::Chain">Chain</a><Self, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a>> <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a><Item = Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#354-358' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Takes two iterators and creates a new iterator over both in sequence. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.chain">Read more</a></p>
|
||||||
|
</div><h4 id='method.zip' class="method"><span id='zip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.zip' class='fnname'>zip</a><U>(self, other: U) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Zip.html" title="struct core::iter::Zip">Zip</a><Self, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a>> <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#431-435' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>'Zips up' two iterators into a single iterator of pairs. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.zip">Read more</a></p>
|
||||||
|
</div><h4 id='method.map' class="method"><span id='map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.map' class='fnname'>map</a><B, F>(self, f: F) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Map.html" title="struct core::iter::Map">Map</a><Self, F> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> B, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#487-491' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Takes a closure and creates an iterator which calls that closure on each element. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.map">Read more</a></p>
|
||||||
|
</div><h4 id='method.for_each' class="method"><span id='for_each.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.for_each' class='fnname'>for_each</a><F>(self, f: F) <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>), </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#530-534' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Calls a closure on each element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.for_each">Read more</a></p>
|
||||||
|
</div><h4 id='method.filter' class="method"><span id='filter.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter' class='fnname'>filter</a><P>(self, predicate: P) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Filter.html" title="struct core::iter::Filter">Filter</a><Self, P> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#598-602' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator which uses a closure to determine if an element should be yielded. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter">Read more</a></p>
|
||||||
|
</div><h4 id='method.filter_map' class="method"><span id='filter_map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter_map' class='fnname'>filter_map</a><B, F>(self, f: F) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.FilterMap.html" title="struct core::iter::FilterMap">FilterMap</a><Self, F> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><B>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#655-659' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that both filters and maps. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter_map">Read more</a></p>
|
||||||
|
</div><h4 id='method.enumerate' class="method"><span id='enumerate.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.enumerate' class='fnname'>enumerate</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Enumerate.html" title="struct core::iter::Enumerate">Enumerate</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#701-703' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator which gives the current iteration count as well as the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.enumerate">Read more</a></p>
|
||||||
|
</div><h4 id='method.peekable' class="method"><span id='peekable.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.peekable' class='fnname'>peekable</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Peekable.html" title="struct core::iter::Peekable">Peekable</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#747-749' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator which can use <code>peek</code> to look at the next element of the iterator without consuming it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.peekable">Read more</a></p>
|
||||||
|
</div><h4 id='method.skip_while' class="method"><span id='skip_while.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip_while' class='fnname'>skip_while</a><P>(self, predicate: P) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.SkipWhile.html" title="struct core::iter::SkipWhile">SkipWhile</a><Self, P> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#808-812' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that [<code>skip</code>]s elements based on a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip_while">Read more</a></p>
|
||||||
|
</div><h4 id='method.take_while' class="method"><span id='take_while.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take_while' class='fnname'>take_while</a><P>(self, predicate: P) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.TakeWhile.html" title="struct core::iter::TakeWhile">TakeWhile</a><Self, P> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#888-892' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that yields elements based on a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take_while">Read more</a></p>
|
||||||
|
</div><h4 id='method.skip' class="method"><span id='skip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip' class='fnname'>skip</a>(self, n: usize) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Skip.html" title="struct core::iter::Skip">Skip</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#912-914' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that skips the first <code>n</code> elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip">Read more</a></p>
|
||||||
|
</div><h4 id='method.take' class="method"><span id='take.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take' class='fnname'>take</a>(self, n: usize) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Take.html" title="struct core::iter::Take">Take</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#944-946' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that yields its first <code>n</code> elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take">Read more</a></p>
|
||||||
|
</div><h4 id='method.scan' class="method"><span id='scan.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.scan' class='fnname'>scan</a><St, B, F>(self, initial_state: St, f: F) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Scan.html" title="struct core::iter::Scan">Scan</a><Self, St, F> <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>(&mut St, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><B>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#987-991' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>An iterator adaptor similar to [<code>fold</code>] that holds internal state and produces a new iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.scan">Read more</a></p>
|
||||||
|
</div><h4 id='method.flat_map' class="method"><span id='flat_map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.flat_map' class='fnname'>flat_map</a><U, F>(self, f: F) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.FlatMap.html" title="struct core::iter::FlatMap">FlatMap</a><Self, U, F> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> U,<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1021-1025' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that works like map, but flattens nested structure. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.flat_map">Read more</a></p>
|
||||||
|
</div><h4 id='method.fuse' class="method"><span id='fuse.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fuse' class='fnname'>fuse</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Fuse.html" title="struct core::iter::Fuse">Fuse</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1083-1085' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator which ends after the first [<code>None</code>]. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fuse">Read more</a></p>
|
||||||
|
</div><h4 id='method.inspect' class="method"><span id='inspect.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.inspect' class='fnname'>inspect</a><F>(self, f: F) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Inspect.html" title="struct core::iter::Inspect">Inspect</a><Self, F> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>), </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1136-1140' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Do something with each element of an iterator, passing the value on. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.inspect">Read more</a></p>
|
||||||
|
</div><h4 id='method.by_ref' class="method"><span id='by_ref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.by_ref' class='fnname'>by_ref</a>(&mut self) -> &mut Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1182' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Borrows an iterator, rather than consuming it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.by_ref">Read more</a></p>
|
||||||
|
</div><h4 id='method.collect' class="method"><span id='collect.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.collect' class='fnname'>collect</a><B>(self) -> B <span class="where fmt-newline">where<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html" title="trait core::iter::traits::FromIterator">FromIterator</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1302-1304' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Transforms an iterator into a collection. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.collect">Read more</a></p>
|
||||||
|
</div><h4 id='method.partition' class="method"><span id='partition.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partition' class='fnname'>partition</a><B, F>(self, f: F) -> (B, B) <span class="where fmt-newline">where<br> B: <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="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>,<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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1326-1343' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Consumes an iterator, creating two collections from it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partition">Read more</a></p>
|
||||||
|
</div><h4 id='method.try_fold' class="method"><span id='try_fold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.try_fold' class='fnname'>try_fold</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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1407-1415' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_try_fold</code>)</div></div><div class='docblock'><p>An iterator method that applies a function as long as it returns successfully, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.try_fold">Read more</a></p>
|
||||||
|
</div><h4 id='method.fold' class="method"><span id='fold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> B, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1487-1491' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>An iterator method that applies a function, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fold">Read more</a></p>
|
||||||
|
</div><h4 id='method.all' class="method"><span id='all.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.all' class='fnname'>all</a><F>(&mut self, f: F) -> bool <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1532-1539' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Tests if every element of the iterator matches a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.all">Read more</a></p>
|
||||||
|
</div><h4 id='method.any' class="method"><span id='any.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.any' class='fnname'>any</a><F>(&mut self, f: F) -> bool <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1580-1588' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Tests if any element of the iterator matches a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.any">Read more</a></p>
|
||||||
|
</div><h4 id='method.find' class="method"><span id='find.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.find' class='fnname'>find</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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1634-1642' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Searches for an element of an iterator that satisfies a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.find">Read more</a></p>
|
||||||
|
</div><h4 id='method.position' class="method"><span id='position.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.position' class='fnname'>position</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><usize> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1701-1710' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Searches for an element in an iterator, returning its index. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.position">Read more</a></p>
|
||||||
|
</div><h4 id='method.rposition' class="method"><span id='rposition.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rposition' class='fnname'>rposition</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><usize> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool,<br> Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html" title="trait core::iter::traits::ExactSizeIterator">ExactSizeIterator</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1752-1764' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Searches for an element in an iterator from the right, returning its index. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rposition">Read more</a></p>
|
||||||
|
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max' class='fnname'>max</a>(self) -> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>> <span class="where fmt-newline">where<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1786-1794' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the maximum element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max">Read more</a></p>
|
||||||
|
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min' class='fnname'>min</a>(self) -> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>> <span class="where fmt-newline">where<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1816-1824' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the minimum element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min">Read more</a></p>
|
||||||
|
</div><h4 id='method.max_by_key' class="method"><span id='max_by_key.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by_key' class='fnname'>max_by_key</a><B, 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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>> <span class="where fmt-newline">where<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,<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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> B, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.6.0'>1.6.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1842-1851' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the element that gives the maximum value from the specified function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by_key">Read more</a></p>
|
||||||
|
</div><h4 id='method.max_by' class="method"><span id='max_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by' class='fnname'>max_by</a><F>(self, compare: 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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>, &Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.15.0'>1.15.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1869-1878' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the element that gives the maximum value with respect to the specified comparison function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by">Read more</a></p>
|
||||||
|
</div><h4 id='method.min_by_key' class="method"><span id='min_by_key.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by_key' class='fnname'>min_by_key</a><B, 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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>> <span class="where fmt-newline">where<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,<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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> B, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.6.0'>1.6.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1895-1904' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the element that gives the minimum value from the specified function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by_key">Read more</a></p>
|
||||||
|
</div><h4 id='method.min_by' class="method"><span id='min_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by' class='fnname'>min_by</a><F>(self, compare: 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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>, &Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.15.0'>1.15.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1922-1931' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the element that gives the minimum value with respect to the specified comparison function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by">Read more</a></p>
|
||||||
|
</div><h4 id='method.rev' class="method"><span id='rev.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rev' class='fnname'>rev</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Rev.html" title="struct core::iter::Rev">Rev</a><Self> <span class="where fmt-newline">where<br> Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1959-1961' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Reverses an iterator's direction. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rev">Read more</a></p>
|
||||||
|
</div><h4 id='method.unzip' class="method"><span id='unzip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.unzip' class='fnname'>unzip</a><A, B, FromA, FromB>(self) -> (FromA, FromB) <span class="where fmt-newline">where<br> FromA: <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="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a><A>,<br> FromB: <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="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a><B>,<br> Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a><Item = (A, B)>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1986-2000' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Converts an iterator of pairs into a pair of containers. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.unzip">Read more</a></p>
|
||||||
|
</div><h4 id='method.cloned' class="method"><span id='cloned.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cloned' class='fnname'>cloned</a><'a, T>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Cloned.html" title="struct core::iter::Cloned">Cloned</a><Self> <span class="where fmt-newline">where<br> Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a><Item = &'a T>,<br> T: 'a + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2025-2029' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator which [<code>clone</code>]s all of its elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cloned">Read more</a></p>
|
||||||
|
</div><h4 id='method.cycle' class="method"><span id='cycle.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cycle' class='fnname'>cycle</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Cycle.html" title="struct core::iter::Cycle">Cycle</a><Self> <span class="where fmt-newline">where<br> Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2058-2060' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Repeats an iterator endlessly. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cycle">Read more</a></p>
|
||||||
|
</div><h4 id='method.sum' class="method"><span id='sum.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.sum' class='fnname'>sum</a><S>(self) -> S <span class="where fmt-newline">where<br> S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Sum.html" title="trait core::iter::traits::Sum">Sum</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.11.0'>1.11.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2085-2090' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Sums the elements of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.sum">Read more</a></p>
|
||||||
|
</div><h4 id='method.product' class="method"><span id='product.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.product' class='fnname'>product</a><P>(self) -> P <span class="where fmt-newline">where<br> P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Product.html" title="trait core::iter::traits::Product">Product</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.11.0'>1.11.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2113-2118' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Iterates over the entire iterator, multiplying all the elements <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.product">Read more</a></p>
|
||||||
|
</div><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cmp' class='fnname'>cmp</a><I>(self, other: I) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a> <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a><Item = Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2123-2150' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Lexicographically compares the elements of this <code>Iterator</code> with those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partial_cmp' class='fnname'>partial_cmp</a><I>(self, other: I) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>> <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2155-2182' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Lexicographically compares the elements of this <code>Iterator</code> with those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partial_cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.eq' class='fnname'>eq</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2187-2207' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.eq">Read more</a></p>
|
||||||
|
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ne' class='fnname'>ne</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2212-2232' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are unequal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ne">Read more</a></p>
|
||||||
|
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.lt' class='fnname'>lt</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2237-2262' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically less than those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.lt">Read more</a></p>
|
||||||
|
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.le' class='fnname'>le</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2267-2292' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically less or equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.le">Read more</a></p>
|
||||||
|
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.gt' class='fnname'>gt</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2297-2322' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically greater than those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.gt">Read more</a></p>
|
||||||
|
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ge' class='fnname'>ge</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2327-2352' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically greater than or equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ge">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-DoubleEndedIterator' class='impl'><span class='in-band'><code>impl<'a, A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a> for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a><'a, A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a, </span></code><a href='#impl-DoubleEndedIterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#787-798' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.next_back' class="method"><span id='next_back.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/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><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#791-797' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Removes and returns an element from the end of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#tymethod.next_back">Read more</a></p>
|
||||||
|
</div><h4 id='method.try_rfold' class="method"><span id='try_rfold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#456-464' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_try_fold</code>)</div></div><div class='docblock'><p>This is the reverse version of [<code>try_fold()</code>]: it takes elements starting from the back of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.try_rfold">Read more</a></p>
|
||||||
|
</div><h4 id='method.rfold' class="method"><span id='rfold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfold' class='fnname'>rfold</a><B, F>(self, accum: 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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> B, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#521-525' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iter_rfold</code>)</div></div><div class='docblock'><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/trait.DoubleEndedIterator.html#method.rfold">Read more</a></p>
|
||||||
|
</div><h4 id='method.rfind' class="method"><span id='rfind.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#575-583' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iter_rfind</code>)</div></div><div class='docblock'><p>Searches for an element of an iterator from the right that satisfies a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfind">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-ExactSizeIterator' class='impl'><span class='in-band'><code>impl<'a, A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html" title="trait core::iter::traits::ExactSizeIterator">ExactSizeIterator</a> for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a><'a, A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a, </span></code><a href='#impl-ExactSizeIterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#800' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.len' class="method"><span id='len.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.len' class='fnname'>len</a>(&self) -> usize</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#687-695' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the exact number of times the iterator will iterate. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.len">Read more</a></p>
|
||||||
|
</div><h4 id='method.is_empty' class="method"><span id='is_empty.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.is_empty' class='fnname'>is_empty</a>(&self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#719-721' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>exact_size_is_empty</code>)</div></div><div class='docblock'><p>Returns whether the iterator is empty. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.is_empty">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Drop' class='impl'><span class='in-band'><code>impl<'a, A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <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="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a><'a, A> <span class="where fmt-newline">where<br> A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a, </span></code><a href='#impl-Drop' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#802-824' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.drop' class="method"><span id='drop.v' class='invisible'><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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#805-823' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><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></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "arrayvec";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
257
arrayvec/struct.IntoIter.html
Normal file
257
arrayvec/struct.IntoIter.html
Normal file
|
@ -0,0 +1,257 @@
|
||||||
|
<!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 `IntoIter` struct in crate `arrayvec`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, IntoIter">
|
||||||
|
|
||||||
|
<title>arrayvec::IntoIter - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct IntoIter</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Iterator">Iterator</a><a href="#impl-DoubleEndedIterator">DoubleEndedIterator</a><a href="#impl-ExactSizeIterator">ExactSizeIterator</a><a href="#impl-Drop">Drop</a></div></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'IntoIter', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>arrayvec</a>::<wbr><a class="struct" href=''>IntoIter</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/arrayvec/lib.rs.html#691-694' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct IntoIter<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> { /* fields omitted */ }</pre><div class='docblock'><p>By-value iterator for <code>ArrayVec</code>.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Iterator' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a> for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a><A></code><a href='#impl-Iterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#696-716' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='associatedtype.Item' class="type"><span id='Item.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span></h4>
|
||||||
|
<div class='docblock'><p>The type of the elements being iterated over.</p>
|
||||||
|
</div><h4 id='method.next' class="method"><span id='next.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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><A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#700-710' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#tymethod.next">Read more</a></p>
|
||||||
|
</div><h4 id='method.size_hint' class="method"><span id='size_hint.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#712-715' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the bounds on the remaining length of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.size_hint">Read more</a></p>
|
||||||
|
</div><h4 id='method.count' class="method"><span id='count.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.count' class='fnname'>count</a>(self) -> usize</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#187-190' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Consumes the iterator, counting the number of iterations and returning it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.count">Read more</a></p>
|
||||||
|
</div><h4 id='method.last' class="method"><span id='last.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#213-217' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Consumes the iterator, returning the last element. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.last">Read more</a></p>
|
||||||
|
</div><h4 id='method.nth' class="method"><span id='nth.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#262-268' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the <code>n</code>th element of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.nth">Read more</a></p>
|
||||||
|
</div><h4 id='method.step_by' class="method"><span id='step_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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/struct.StepBy.html" title="struct core::iter::StepBy">StepBy</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#298-301' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><details><summary><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_step_by</code>)</summary><p>unstable replacement of Range::step_by</p>
|
||||||
|
</details></div></div><div class='docblock'><p>Creates an iterator starting at the same point, but stepping by the given amount at each iteration. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.step_by">Read more</a></p>
|
||||||
|
</div><h4 id='method.chain' class="method"><span id='chain.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.chain' class='fnname'>chain</a><U>(self, other: U) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Chain.html" title="struct core::iter::Chain">Chain</a><Self, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a>> <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a><Item = Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#354-358' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Takes two iterators and creates a new iterator over both in sequence. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.chain">Read more</a></p>
|
||||||
|
</div><h4 id='method.zip' class="method"><span id='zip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.zip' class='fnname'>zip</a><U>(self, other: U) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Zip.html" title="struct core::iter::Zip">Zip</a><Self, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a>> <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#431-435' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>'Zips up' two iterators into a single iterator of pairs. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.zip">Read more</a></p>
|
||||||
|
</div><h4 id='method.map' class="method"><span id='map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.map' class='fnname'>map</a><B, F>(self, f: F) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Map.html" title="struct core::iter::Map">Map</a><Self, F> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> B, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#487-491' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Takes a closure and creates an iterator which calls that closure on each element. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.map">Read more</a></p>
|
||||||
|
</div><h4 id='method.for_each' class="method"><span id='for_each.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.for_each' class='fnname'>for_each</a><F>(self, f: F) <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>), </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#530-534' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Calls a closure on each element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.for_each">Read more</a></p>
|
||||||
|
</div><h4 id='method.filter' class="method"><span id='filter.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter' class='fnname'>filter</a><P>(self, predicate: P) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Filter.html" title="struct core::iter::Filter">Filter</a><Self, P> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#598-602' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator which uses a closure to determine if an element should be yielded. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter">Read more</a></p>
|
||||||
|
</div><h4 id='method.filter_map' class="method"><span id='filter_map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter_map' class='fnname'>filter_map</a><B, F>(self, f: F) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.FilterMap.html" title="struct core::iter::FilterMap">FilterMap</a><Self, F> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><B>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#655-659' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that both filters and maps. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter_map">Read more</a></p>
|
||||||
|
</div><h4 id='method.enumerate' class="method"><span id='enumerate.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.enumerate' class='fnname'>enumerate</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Enumerate.html" title="struct core::iter::Enumerate">Enumerate</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#701-703' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator which gives the current iteration count as well as the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.enumerate">Read more</a></p>
|
||||||
|
</div><h4 id='method.peekable' class="method"><span id='peekable.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.peekable' class='fnname'>peekable</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Peekable.html" title="struct core::iter::Peekable">Peekable</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#747-749' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator which can use <code>peek</code> to look at the next element of the iterator without consuming it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.peekable">Read more</a></p>
|
||||||
|
</div><h4 id='method.skip_while' class="method"><span id='skip_while.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip_while' class='fnname'>skip_while</a><P>(self, predicate: P) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.SkipWhile.html" title="struct core::iter::SkipWhile">SkipWhile</a><Self, P> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#808-812' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that [<code>skip</code>]s elements based on a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip_while">Read more</a></p>
|
||||||
|
</div><h4 id='method.take_while' class="method"><span id='take_while.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take_while' class='fnname'>take_while</a><P>(self, predicate: P) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.TakeWhile.html" title="struct core::iter::TakeWhile">TakeWhile</a><Self, P> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#888-892' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that yields elements based on a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take_while">Read more</a></p>
|
||||||
|
</div><h4 id='method.skip' class="method"><span id='skip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip' class='fnname'>skip</a>(self, n: usize) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Skip.html" title="struct core::iter::Skip">Skip</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#912-914' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that skips the first <code>n</code> elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip">Read more</a></p>
|
||||||
|
</div><h4 id='method.take' class="method"><span id='take.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take' class='fnname'>take</a>(self, n: usize) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Take.html" title="struct core::iter::Take">Take</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#944-946' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that yields its first <code>n</code> elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take">Read more</a></p>
|
||||||
|
</div><h4 id='method.scan' class="method"><span id='scan.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.scan' class='fnname'>scan</a><St, B, F>(self, initial_state: St, f: F) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Scan.html" title="struct core::iter::Scan">Scan</a><Self, St, F> <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>(&mut St, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><B>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#987-991' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>An iterator adaptor similar to [<code>fold</code>] that holds internal state and produces a new iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.scan">Read more</a></p>
|
||||||
|
</div><h4 id='method.flat_map' class="method"><span id='flat_map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.flat_map' class='fnname'>flat_map</a><U, F>(self, f: F) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.FlatMap.html" title="struct core::iter::FlatMap">FlatMap</a><Self, U, F> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> U,<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1021-1025' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator that works like map, but flattens nested structure. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.flat_map">Read more</a></p>
|
||||||
|
</div><h4 id='method.fuse' class="method"><span id='fuse.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fuse' class='fnname'>fuse</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Fuse.html" title="struct core::iter::Fuse">Fuse</a><Self></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1083-1085' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator which ends after the first [<code>None</code>]. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fuse">Read more</a></p>
|
||||||
|
</div><h4 id='method.inspect' class="method"><span id='inspect.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.inspect' class='fnname'>inspect</a><F>(self, f: F) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Inspect.html" title="struct core::iter::Inspect">Inspect</a><Self, F> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>), </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1136-1140' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Do something with each element of an iterator, passing the value on. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.inspect">Read more</a></p>
|
||||||
|
</div><h4 id='method.by_ref' class="method"><span id='by_ref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.by_ref' class='fnname'>by_ref</a>(&mut self) -> &mut Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1182' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Borrows an iterator, rather than consuming it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.by_ref">Read more</a></p>
|
||||||
|
</div><h4 id='method.collect' class="method"><span id='collect.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.collect' class='fnname'>collect</a><B>(self) -> B <span class="where fmt-newline">where<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html" title="trait core::iter::traits::FromIterator">FromIterator</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1302-1304' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Transforms an iterator into a collection. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.collect">Read more</a></p>
|
||||||
|
</div><h4 id='method.partition' class="method"><span id='partition.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partition' class='fnname'>partition</a><B, F>(self, f: F) -> (B, B) <span class="where fmt-newline">where<br> B: <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="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>,<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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1326-1343' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Consumes an iterator, creating two collections from it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partition">Read more</a></p>
|
||||||
|
</div><h4 id='method.try_fold' class="method"><span id='try_fold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.try_fold' class='fnname'>try_fold</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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1407-1415' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_try_fold</code>)</div></div><div class='docblock'><p>An iterator method that applies a function as long as it returns successfully, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.try_fold">Read more</a></p>
|
||||||
|
</div><h4 id='method.fold' class="method"><span id='fold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> B, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1487-1491' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>An iterator method that applies a function, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fold">Read more</a></p>
|
||||||
|
</div><h4 id='method.all' class="method"><span id='all.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.all' class='fnname'>all</a><F>(&mut self, f: F) -> bool <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1532-1539' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Tests if every element of the iterator matches a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.all">Read more</a></p>
|
||||||
|
</div><h4 id='method.any' class="method"><span id='any.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.any' class='fnname'>any</a><F>(&mut self, f: F) -> bool <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1580-1588' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Tests if any element of the iterator matches a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.any">Read more</a></p>
|
||||||
|
</div><h4 id='method.find' class="method"><span id='find.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.find' class='fnname'>find</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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1634-1642' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Searches for an element of an iterator that satisfies a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.find">Read more</a></p>
|
||||||
|
</div><h4 id='method.position' class="method"><span id='position.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.position' class='fnname'>position</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><usize> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1701-1710' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Searches for an element in an iterator, returning its index. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.position">Read more</a></p>
|
||||||
|
</div><h4 id='method.rposition' class="method"><span id='rposition.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rposition' class='fnname'>rposition</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><usize> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool,<br> Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html" title="trait core::iter::traits::ExactSizeIterator">ExactSizeIterator</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1752-1764' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Searches for an element in an iterator from the right, returning its index. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rposition">Read more</a></p>
|
||||||
|
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max' class='fnname'>max</a>(self) -> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>> <span class="where fmt-newline">where<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1786-1794' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the maximum element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max">Read more</a></p>
|
||||||
|
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min' class='fnname'>min</a>(self) -> <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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>> <span class="where fmt-newline">where<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1816-1824' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the minimum element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min">Read more</a></p>
|
||||||
|
</div><h4 id='method.max_by_key' class="method"><span id='max_by_key.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by_key' class='fnname'>max_by_key</a><B, 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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>> <span class="where fmt-newline">where<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,<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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> B, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.6.0'>1.6.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1842-1851' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the element that gives the maximum value from the specified function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by_key">Read more</a></p>
|
||||||
|
</div><h4 id='method.max_by' class="method"><span id='max_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by' class='fnname'>max_by</a><F>(self, compare: 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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>, &Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.15.0'>1.15.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1869-1878' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the element that gives the maximum value with respect to the specified comparison function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by">Read more</a></p>
|
||||||
|
</div><h4 id='method.min_by_key' class="method"><span id='min_by_key.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by_key' class='fnname'>min_by_key</a><B, 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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>> <span class="where fmt-newline">where<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,<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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> B, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.6.0'>1.6.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1895-1904' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the element that gives the minimum value from the specified function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by_key">Read more</a></p>
|
||||||
|
</div><h4 id='method.min_by' class="method"><span id='min_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by' class='fnname'>min_by</a><F>(self, compare: 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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>, &Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.15.0'>1.15.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1922-1931' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the element that gives the minimum value with respect to the specified comparison function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by">Read more</a></p>
|
||||||
|
</div><h4 id='method.rev' class="method"><span id='rev.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rev' class='fnname'>rev</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Rev.html" title="struct core::iter::Rev">Rev</a><Self> <span class="where fmt-newline">where<br> Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1959-1961' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Reverses an iterator's direction. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rev">Read more</a></p>
|
||||||
|
</div><h4 id='method.unzip' class="method"><span id='unzip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.unzip' class='fnname'>unzip</a><A, B, FromA, FromB>(self) -> (FromA, FromB) <span class="where fmt-newline">where<br> FromA: <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="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a><A>,<br> FromB: <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="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a><B>,<br> Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a><Item = (A, B)>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1986-2000' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Converts an iterator of pairs into a pair of containers. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.unzip">Read more</a></p>
|
||||||
|
</div><h4 id='method.cloned' class="method"><span id='cloned.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cloned' class='fnname'>cloned</a><'a, T>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Cloned.html" title="struct core::iter::Cloned">Cloned</a><Self> <span class="where fmt-newline">where<br> Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a><Item = &'a T>,<br> T: 'a + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2025-2029' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates an iterator which [<code>clone</code>]s all of its elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cloned">Read more</a></p>
|
||||||
|
</div><h4 id='method.cycle' class="method"><span id='cycle.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cycle' class='fnname'>cycle</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Cycle.html" title="struct core::iter::Cycle">Cycle</a><Self> <span class="where fmt-newline">where<br> Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2058-2060' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Repeats an iterator endlessly. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cycle">Read more</a></p>
|
||||||
|
</div><h4 id='method.sum' class="method"><span id='sum.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.sum' class='fnname'>sum</a><S>(self) -> S <span class="where fmt-newline">where<br> S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Sum.html" title="trait core::iter::traits::Sum">Sum</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.11.0'>1.11.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2085-2090' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Sums the elements of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.sum">Read more</a></p>
|
||||||
|
</div><h4 id='method.product' class="method"><span id='product.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.product' class='fnname'>product</a><P>(self) -> P <span class="where fmt-newline">where<br> P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Product.html" title="trait core::iter::traits::Product">Product</a><Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.11.0'>1.11.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2113-2118' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Iterates over the entire iterator, multiplying all the elements <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.product">Read more</a></p>
|
||||||
|
</div><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cmp' class='fnname'>cmp</a><I>(self, other: I) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a> <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a><Item = Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2123-2150' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Lexicographically compares the elements of this <code>Iterator</code> with those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partial_cmp' class='fnname'>partial_cmp</a><I>(self, other: I) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>> <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2155-2182' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Lexicographically compares the elements of this <code>Iterator</code> with those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partial_cmp">Read more</a></p>
|
||||||
|
</div><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.eq' class='fnname'>eq</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2187-2207' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.eq">Read more</a></p>
|
||||||
|
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ne' class='fnname'>ne</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2212-2232' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are unequal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ne">Read more</a></p>
|
||||||
|
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.lt' class='fnname'>lt</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2237-2262' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically less than those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.lt">Read more</a></p>
|
||||||
|
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.le' class='fnname'>le</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2267-2292' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically less or equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.le">Read more</a></p>
|
||||||
|
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.gt' class='fnname'>gt</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2297-2322' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically greater than those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.gt">Read more</a></p>
|
||||||
|
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ge' class='fnname'>ge</a><I>(self, other: I) -> bool <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br> Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2327-2352' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically greater than or equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ge">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-DoubleEndedIterator' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a> for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a><A></code><a href='#impl-DoubleEndedIterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#718-731' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.next_back' class="method"><span id='next_back.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/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><A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#720-730' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Removes and returns an element from the end of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#tymethod.next_back">Read more</a></p>
|
||||||
|
</div><h4 id='method.try_rfold' class="method"><span id='try_rfold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#456-464' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_try_fold</code>)</div></div><div class='docblock'><p>This is the reverse version of [<code>try_fold()</code>]: it takes elements starting from the back of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.try_rfold">Read more</a></p>
|
||||||
|
</div><h4 id='method.rfold' class="method"><span id='rfold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfold' class='fnname'>rfold</a><B, F>(self, accum: 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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> B, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#521-525' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iter_rfold</code>)</div></div><div class='docblock'><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/trait.DoubleEndedIterator.html#method.rfold">Read more</a></p>
|
||||||
|
</div><h4 id='method.rfind' class="method"><span id='rfind.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::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/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -> bool, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#575-583' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iter_rfind</code>)</div></div><div class='docblock'><p>Searches for an element of an iterator from the right that satisfies a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfind">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-ExactSizeIterator' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html" title="trait core::iter::traits::ExactSizeIterator">ExactSizeIterator</a> for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a><A></code><a href='#impl-ExactSizeIterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#733' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.len' class="method"><span id='len.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.len' class='fnname'>len</a>(&self) -> usize</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#687-695' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the exact number of times the iterator will iterate. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.len">Read more</a></p>
|
||||||
|
</div><h4 id='method.is_empty' class="method"><span id='is_empty.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.is_empty' class='fnname'>is_empty</a>(&self) -> bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#719-721' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>exact_size_is_empty</code>)</div></div><div class='docblock'><p>Returns whether the iterator is empty. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.is_empty">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Drop' class='impl'><span class='in-band'><code>impl<A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>> <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="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a><A></code><a href='#impl-Drop' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#735-748' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.drop' class="method"><span id='drop.v' class='invisible'><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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#736-747' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><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></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "arrayvec";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
200
arrayvec/trait.Array.html
Normal file
200
arrayvec/trait.Array.html
Normal file
|
@ -0,0 +1,200 @@
|
||||||
|
<!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 `Array` trait in crate `arrayvec`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, Array">
|
||||||
|
|
||||||
|
<title>arrayvec::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="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</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>
|
||||||
|
|
||||||
|
<p class='location'>Trait Array</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.Item">Item</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'Array', 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 js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Trait <a href='index.html'>arrayvec</a>::<wbr><a class="trait" href=''>Array</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/arrayvec/array.rs.html#3-15' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust trait'>pub unsafe trait Array {
|
||||||
|
type <a href='#associatedtype.Item' class="type">Item</a>;
|
||||||
|
}</pre><div class='docblock'><p>Trait for fixed size arrays.</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.Item' class='method'><span id='Item.t' class='invisible'><code>type <a href='#associatedtype.Item' class="type">Item</a></code></span></h3><div class='docblock'><p>The array’s element type</p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='implementors' class='small-section-header'>
|
||||||
|
Implementors<a href='#implementors' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<ul class='item-list' id='implementors-list'>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 0]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 1]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 2]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 3]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 4]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 5]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 6]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 7]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 8]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 9]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 10]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 11]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 12]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 13]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 14]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 15]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 16]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 17]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 18]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 19]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 20]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 21]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 22]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 23]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 24]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 25]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 26]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 27]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 28]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 29]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 30]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 31]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 32]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 40]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 48]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 50]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 56]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 64]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 72]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 96]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 100]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 128]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 160]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 192]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 200]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 224]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 256]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 384]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 512]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 768]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 1024]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 2048]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 4096]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 8192]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 16384]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 32768]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
|
||||||
|
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl<T> Array for [T; 65536]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u32;</span></code></li>
|
||||||
|
</ul><script type="text/javascript" async
|
||||||
|
src="../implementors/arrayvec/trait.Array.js">
|
||||||
|
</script></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "arrayvec";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
164
arrayvec/trait.RangeArgument.html
Normal file
164
arrayvec/trait.RangeArgument.html
Normal file
|
@ -0,0 +1,164 @@
|
||||||
|
<!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 `RangeArgument` trait in crate `arrayvec`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, RangeArgument">
|
||||||
|
|
||||||
|
<title>arrayvec::RangeArgument - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</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>
|
||||||
|
|
||||||
|
<p class='location'>Trait RangeArgument</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.start">start</a><a href="#method.end">end</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-RangeArgument">RangeFull</a><a href="#impl-RangeArgument">RangeFrom<usize></a><a href="#impl-RangeArgument">RangeTo<usize></a><a href="#impl-RangeArgument">Range<usize></a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'RangeArgument', 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 js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Trait <a href='index.html'>arrayvec</a>::<wbr><a class="trait" href=''>RangeArgument</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/arrayvec/range.rs.html#14-21' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust trait'>pub trait RangeArgument {
|
||||||
|
fn <a href='#method.start' class='fnname'>start</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize> { ... }
|
||||||
|
<div class='item-spacer'></div> fn <a href='#method.end' class='fnname'>end</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize> { ... }
|
||||||
|
}</pre><div class='docblock'><p><code>RangeArgument</code> is implemented by Rust's built-in range types, produced
|
||||||
|
by range syntax like <code>..</code>, <code>a..</code>, <code>..b</code> or <code>c..d</code>.</p>
|
||||||
|
<p>Note: This is arrayvec's provisional trait, waiting for stable Rust to
|
||||||
|
provide an equivalent.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='provided-methods' class='small-section-header'>
|
||||||
|
Provided Methods<a href='#provided-methods' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<div class='methods'>
|
||||||
|
<h3 id='method.start' class='method'><span id='start.v' class='invisible'><code>fn <a href='#method.start' class='fnname'>start</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize></code></span></h3><div class='docblock'><p>Start index (inclusive)</p>
|
||||||
|
</div><h3 id='method.end' class='method'><span id='end.v' class='invisible'><code>fn <a href='#method.end' class='fnname'>end</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize></code></span></h3><div class='docblock'><p>End index (exclusive)</p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='foreign-impls' class='small-section-header'>
|
||||||
|
Implementations on Foreign Types<a href='#foreign-impls' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-RangeArgument' class='impl'><span class='in-band'><code>impl <a class="trait" href="../arrayvec/trait.RangeArgument.html" title="trait arrayvec::RangeArgument">RangeArgument</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.RangeFull.html" title="struct core::ops::range::RangeFull">RangeFull</a></code><a href='#impl-RangeArgument' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#24' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<span class='docblock autohide'><div class='impl-items'><h4 id='method.start-1' class="method"><span id='start.v-1' class='invisible'><code>fn <a href='../arrayvec/trait.RangeArgument.html#method.start' class='fnname'>start</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#17' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<h4 id='method.end-1' class="method"><span id='end.v-1' class='invisible'><code>fn <a href='../arrayvec/trait.RangeArgument.html#method.end' class='fnname'>end</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#20' title='goto source code'>[src]</a></span></h4>
|
||||||
|
</div></span><h3 id='impl-RangeArgument-1' class='impl'><span class='in-band'><code>impl <a class="trait" href="../arrayvec/trait.RangeArgument.html" title="trait arrayvec::RangeArgument">RangeArgument</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.RangeFrom.html" title="struct core::ops::range::RangeFrom">RangeFrom</a><usize></code><a href='#impl-RangeArgument-1' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#26-29' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<span class='docblock autohide'><div class='impl-items'><h4 id='method.start-2' class="method"><span id='start.v-2' class='invisible'><code>fn <a href='#method.start' class='fnname'>start</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#28' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<h4 id='method.end-2' class="method"><span id='end.v-2' class='invisible'><code>fn <a href='../arrayvec/trait.RangeArgument.html#method.end' class='fnname'>end</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#20' title='goto source code'>[src]</a></span></h4>
|
||||||
|
</div></span><h3 id='impl-RangeArgument-2' class='impl'><span class='in-band'><code>impl <a class="trait" href="../arrayvec/trait.RangeArgument.html" title="trait arrayvec::RangeArgument">RangeArgument</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.RangeTo.html" title="struct core::ops::range::RangeTo">RangeTo</a><usize></code><a href='#impl-RangeArgument-2' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#31-34' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<span class='docblock autohide'><div class='impl-items'><h4 id='method.end-3' class="method"><span id='end.v-3' class='invisible'><code>fn <a href='#method.end' class='fnname'>end</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#33' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<h4 id='method.start-3' class="method"><span id='start.v-3' class='invisible'><code>fn <a href='../arrayvec/trait.RangeArgument.html#method.start' class='fnname'>start</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#17' title='goto source code'>[src]</a></span></h4>
|
||||||
|
</div></span><h3 id='impl-RangeArgument-3' class='impl'><span class='in-band'><code>impl <a class="trait" href="../arrayvec/trait.RangeArgument.html" title="trait arrayvec::RangeArgument">RangeArgument</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a><usize></code><a href='#impl-RangeArgument-3' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#36-41' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<span class='docblock autohide'><div class='impl-items'><h4 id='method.start-4' class="method"><span id='start.v-4' class='invisible'><code>fn <a href='#method.start' class='fnname'>start</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#38' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<h4 id='method.end-4' class="method"><span id='end.v-4' class='invisible'><code>fn <a href='#method.end' class='fnname'>end</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><usize></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#40' title='goto source code'>[src]</a></span></h4>
|
||||||
|
</div></span>
|
||||||
|
<h2 id='implementors' class='small-section-header'>
|
||||||
|
Implementors<a href='#implementors' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<ul class='item-list' id='implementors-list'>
|
||||||
|
</ul><script type="text/javascript" async
|
||||||
|
src="../implementors/arrayvec/trait.RangeArgument.js">
|
||||||
|
</script></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "arrayvec";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -1,36 +0,0 @@
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
|
|
||||||
FROM mozillamobile/rust-component:buildtools-27.0.3-ndk-r17b-ndk-version-26-rust-stable-rust-beta
|
|
||||||
|
|
||||||
MAINTAINER Nick Alexander "nalexander@mozilla.com"
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
#-- Project -----------------------------------------------------------------------------------------------------------
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
ENV PROJECT_REPOSITORY "https://github.com/mozilla/mentat.git"
|
|
||||||
|
|
||||||
RUN git clone $PROJECT_REPOSITORY
|
|
||||||
|
|
||||||
WORKDIR /build/mentat
|
|
||||||
|
|
||||||
# Temporary.
|
|
||||||
RUN git fetch origin master && git checkout origin/generic-automation-images && git show-ref HEAD
|
|
||||||
|
|
||||||
# Populate dependencies.
|
|
||||||
RUN ./sdks/android/Mentat/gradlew --no-daemon -p sdks/android/Mentat tasks
|
|
||||||
|
|
||||||
# Build Rust.
|
|
||||||
RUN ./sdks/android/Mentat/gradlew --no-daemon -p sdks/android/Mentat cargoBuild
|
|
||||||
|
|
||||||
# Actually build. In the future, we might also lint (to cache additional dependencies).
|
|
||||||
RUN ./sdks/android/Mentat/gradlew --no-daemon -p sdks/android/Mentat assemble test
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
# -- Cleanup ----------------------------------------------------------------------------------------------------------
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Drop built Rust artifacts.
|
|
||||||
RUN cargo clean
|
|
|
@ -1,81 +0,0 @@
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
|
|
||||||
FROM mozillamobile/android-components:1.4
|
|
||||||
|
|
||||||
MAINTAINER Nick Alexander "nalexander@mozilla.com"
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
#-- Configuration -----------------------------------------------------------------------------------------------------
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
ENV ANDROID_NDK_VERSION "r17b"
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
#-- System ------------------------------------------------------------------------------------------------------------
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
RUN apt-get update -qq
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
#-- Android NDK (Android SDK comes from base `android-components` image) ----------------------------------------------
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
RUN mkdir -p /build
|
|
||||||
WORKDIR /build
|
|
||||||
|
|
||||||
ENV ANDROID_NDK_HOME /build/android-ndk
|
|
||||||
|
|
||||||
RUN curl -L https://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip > ndk.zip \
|
|
||||||
&& unzip ndk.zip -d /build \
|
|
||||||
&& rm ndk.zip \
|
|
||||||
&& mv /build/android-ndk-${ANDROID_NDK_VERSION} ${ANDROID_NDK_HOME}
|
|
||||||
|
|
||||||
ENV ANDROID_NDK_TOOLCHAIN_DIR /build/android-ndk-toolchain
|
|
||||||
ENV ANDROID_NDK_API_VERSION 26
|
|
||||||
|
|
||||||
RUN set -eux; \
|
|
||||||
python "$ANDROID_NDK_HOME/build/tools/make_standalone_toolchain.py" --arch="arm" --api="$ANDROID_NDK_API_VERSION" --install-dir="$ANDROID_NDK_TOOLCHAIN_DIR/arm-$ANDROID_NDK_API_VERSION" --force; \
|
|
||||||
python "$ANDROID_NDK_HOME/build/tools/make_standalone_toolchain.py" --arch="arm64" --api="$ANDROID_NDK_API_VERSION" --install-dir="$ANDROID_NDK_TOOLCHAIN_DIR/arm64-$ANDROID_NDK_API_VERSION" --force; \
|
|
||||||
python "$ANDROID_NDK_HOME/build/tools/make_standalone_toolchain.py" --arch="x86" --api="$ANDROID_NDK_API_VERSION" --install-dir="$ANDROID_NDK_TOOLCHAIN_DIR/x86-$ANDROID_NDK_API_VERSION" --force
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
#-- Rust (cribbed from https://github.com/rust-lang-nursery/docker-rust/blob/ced83778ec6fea7f63091a484946f95eac0ee611/1.27.1/stretch/Dockerfile)
|
|
||||||
#-- Rust is after the Android NDK since Rust rolls forward more frequently. Both stable and beta for advanced consumers.
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
ENV RUSTUP_HOME=/usr/local/rustup \
|
|
||||||
CARGO_HOME=/usr/local/cargo \
|
|
||||||
PATH=/usr/local/cargo/bin:$PATH \
|
|
||||||
RUST_VERSION=1.27.1
|
|
||||||
|
|
||||||
RUN set -eux; \
|
|
||||||
rustArch='x86_64-unknown-linux-gnu'; rustupSha256='4d382e77fd6760282912d2d9beec5e260ec919efd3cb9bdb64fe1207e84b9d91'; \
|
|
||||||
url="https://static.rust-lang.org/rustup/archive/1.12.0/${rustArch}/rustup-init"; \
|
|
||||||
wget "$url"; \
|
|
||||||
echo "${rustupSha256} *rustup-init" | sha256sum -c -; \
|
|
||||||
chmod +x rustup-init; \
|
|
||||||
./rustup-init -y --no-modify-path --default-toolchain $RUST_VERSION; \
|
|
||||||
rm rustup-init; \
|
|
||||||
chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \
|
|
||||||
rustup --version; \
|
|
||||||
cargo --version; \
|
|
||||||
rustc --version; \
|
|
||||||
rustup target add i686-linux-android; \
|
|
||||||
rustup target add armv7-linux-androideabi; \
|
|
||||||
rustup target add aarch64-linux-android
|
|
||||||
|
|
||||||
RUN set -eux; \
|
|
||||||
rustup install beta; \
|
|
||||||
rustup target add --toolchain beta i686-linux-android; \
|
|
||||||
rustup target add --toolchain beta armv7-linux-androideabi; \
|
|
||||||
rustup target add --toolchain beta aarch64-linux-android
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
# -- Cleanup ----------------------------------------------------------------------------------------------------------
|
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
WORKDIR /build
|
|
||||||
|
|
||||||
RUN apt-get clean
|
|
|
@ -1,122 +0,0 @@
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
|
|
||||||
import datetime
|
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import taskcluster
|
|
||||||
import re
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
"""
|
|
||||||
Decision task for pull requests
|
|
||||||
"""
|
|
||||||
|
|
||||||
TASK_ID = os.environ.get('TASK_ID')
|
|
||||||
REPO_URL = os.environ.get('GITHUB_HEAD_REPO_URL')
|
|
||||||
BRANCH = os.environ.get('GITHUB_HEAD_BRANCH')
|
|
||||||
COMMIT = os.environ.get('GITHUB_HEAD_SHA')
|
|
||||||
|
|
||||||
def fetch_module_names():
|
|
||||||
process = subprocess.Popen(["./gradlew", "--no-daemon", "printModules"], stdout=subprocess.PIPE,
|
|
||||||
cwd=os.path.join(os.getcwd(), "sdks", "android", "Mentat"))
|
|
||||||
(output, err) = process.communicate()
|
|
||||||
exit_code = process.wait()
|
|
||||||
|
|
||||||
if exit_code is not 0:
|
|
||||||
print "Gradle command returned error:", exit_code
|
|
||||||
|
|
||||||
return re.findall('module: (.*)', output, re.M)
|
|
||||||
|
|
||||||
|
|
||||||
def schedule_task(queue, taskId, task):
|
|
||||||
print "TASK", taskId
|
|
||||||
print json.dumps(task, indent=4, separators=(',', ': '))
|
|
||||||
|
|
||||||
result = queue.createTask(taskId, task)
|
|
||||||
print "RESULT", taskId
|
|
||||||
print json.dumps(result, indent=4, separators=(',', ': '))
|
|
||||||
|
|
||||||
|
|
||||||
def create_task(name, description, command):
|
|
||||||
created = datetime.datetime.now()
|
|
||||||
expires = taskcluster.fromNow('1 year')
|
|
||||||
deadline = taskcluster.fromNow('1 day')
|
|
||||||
|
|
||||||
return {
|
|
||||||
"workerType": 'github-worker',
|
|
||||||
"taskGroupId": TASK_ID,
|
|
||||||
"expires": taskcluster.stringDate(expires),
|
|
||||||
"retries": 5,
|
|
||||||
"created": taskcluster.stringDate(created),
|
|
||||||
"tags": {},
|
|
||||||
"priority": "lowest",
|
|
||||||
"schedulerId": "taskcluster-github",
|
|
||||||
"deadline": taskcluster.stringDate(deadline),
|
|
||||||
"dependencies": [ TASK_ID ],
|
|
||||||
"routes": [],
|
|
||||||
"scopes": [],
|
|
||||||
"requires": "all-completed",
|
|
||||||
"payload": {
|
|
||||||
"features": {},
|
|
||||||
"maxRunTime": 7200,
|
|
||||||
"image": "mozillamobile/mentat:1.2",
|
|
||||||
"command": [
|
|
||||||
"/bin/bash",
|
|
||||||
"--login",
|
|
||||||
"-cx",
|
|
||||||
"export TERM=dumb && git fetch %s %s && git config advice.detachedHead false && git checkout %s && cd sdks/android/Mentat && ./gradlew --no-daemon clean %s" % (REPO_URL, BRANCH, COMMIT, command)
|
|
||||||
],
|
|
||||||
"artifacts": {},
|
|
||||||
"deadline": taskcluster.stringDate(deadline)
|
|
||||||
},
|
|
||||||
"provisionerId": "aws-provisioner-v1",
|
|
||||||
"metadata": {
|
|
||||||
"name": name,
|
|
||||||
"description": description,
|
|
||||||
"owner": "nalexander@mozilla.com",
|
|
||||||
"source": "https://github.com/mozilla/mentat"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def create_module_task(module):
|
|
||||||
return create_task(
|
|
||||||
name='Mentat Android SDK - Module ' + module,
|
|
||||||
description='Building and testing module ' + module,
|
|
||||||
command=" ".join(map(lambda x: module + ":" + x, ['assemble', 'test', 'lint'])))
|
|
||||||
|
|
||||||
|
|
||||||
# def create_detekt_task():
|
|
||||||
# return create_task(
|
|
||||||
# name='Android Components - detekt',
|
|
||||||
# description='Running detekt over all modules',
|
|
||||||
# command='detektCheck')
|
|
||||||
|
|
||||||
|
|
||||||
# def create_ktlint_task():
|
|
||||||
# return create_task(
|
|
||||||
# name='Android Components - ktlint',
|
|
||||||
# description='Running ktlint over all modules',
|
|
||||||
# command='ktlint')
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
queue = taskcluster.Queue({ 'baseUrl': 'http://taskcluster/queue/v1' })
|
|
||||||
|
|
||||||
modules = fetch_module_names()
|
|
||||||
|
|
||||||
if len(modules) == 0:
|
|
||||||
print "Could not get module names from gradle"
|
|
||||||
sys.exit(2)
|
|
||||||
|
|
||||||
for module in modules:
|
|
||||||
task = create_module_task(module)
|
|
||||||
task_id = taskcluster.slugId()
|
|
||||||
schedule_task(queue, task_id, task)
|
|
||||||
|
|
||||||
# schedule_task(queue, taskcluster.slugId(), create_detekt_task())
|
|
||||||
# schedule_task(queue, taskcluster.slugId(), create_ktlint_task())
|
|
|
@ -1,28 +0,0 @@
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
|
|
||||||
import os
|
|
||||||
import taskcluster
|
|
||||||
|
|
||||||
SECRET_NAME = 'project/mentat/publish'
|
|
||||||
TASKCLUSTER_BASE_URL = 'http://taskcluster/secrets/v1'
|
|
||||||
|
|
||||||
def fetch_publish_secrets(secret_name):
|
|
||||||
"""Fetch and return secrets from taskcluster's secret service"""
|
|
||||||
secrets = taskcluster.Secrets({'baseUrl': TASKCLUSTER_BASE_URL})
|
|
||||||
return secrets.get(secret_name)
|
|
||||||
|
|
||||||
def main():
|
|
||||||
"""Fetch the bintray user and api key from taskcluster's secret service
|
|
||||||
and save it to local.properties in the project root directory.
|
|
||||||
"""
|
|
||||||
data = fetch_publish_secrets(SECRET_NAME)
|
|
||||||
|
|
||||||
properties_file_path = os.path.join(os.path.dirname(__file__), '../../../sdks/android/Mentat/local.properties')
|
|
||||||
with open(properties_file_path, 'w') as properties_file:
|
|
||||||
properties_file.write("bintray.user=%s\n" % data['secret']['bintray_user'])
|
|
||||||
properties_file.write("bintray.apikey=%s\n" % data['secret']['bintray_apikey'])
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
10
backtrace/Backtrace.t.html
Normal file
10
backtrace/Backtrace.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.Backtrace.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.Backtrace.html">struct.Backtrace.html</a>...</p>
|
||||||
|
<script>location.replace("struct.Backtrace.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/BacktraceFrame.t.html
Normal file
10
backtrace/BacktraceFrame.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.BacktraceFrame.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.BacktraceFrame.html">struct.BacktraceFrame.html</a>...</p>
|
||||||
|
<script>location.replace("struct.BacktraceFrame.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/BacktraceSymbol.t.html
Normal file
10
backtrace/BacktraceSymbol.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.BacktraceSymbol.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.BacktraceSymbol.html">struct.BacktraceSymbol.html</a>...</p>
|
||||||
|
<script>location.replace("struct.BacktraceSymbol.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/Frame.t.html
Normal file
10
backtrace/Frame.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.Frame.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.Frame.html">struct.Frame.html</a>...</p>
|
||||||
|
<script>location.replace("struct.Frame.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/Symbol.t.html
Normal file
10
backtrace/Symbol.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.Symbol.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.Symbol.html">struct.Symbol.html</a>...</p>
|
||||||
|
<script>location.replace("struct.Symbol.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/SymbolName.t.html
Normal file
10
backtrace/SymbolName.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.SymbolName.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.SymbolName.html">struct.SymbolName.html</a>...</p>
|
||||||
|
<script>location.replace("struct.SymbolName.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/backtrace/Frame.t.html
Normal file
10
backtrace/backtrace/Frame.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.Frame.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.Frame.html">struct.Frame.html</a>...</p>
|
||||||
|
<script>location.replace("struct.Frame.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/backtrace/fn.trace.html
Normal file
10
backtrace/backtrace/fn.trace.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=../../backtrace/fn.trace.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="../../backtrace/fn.trace.html">../../backtrace/fn.trace.html</a>...</p>
|
||||||
|
<script>location.replace("../../backtrace/fn.trace.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/backtrace/struct.Frame.html
Normal file
10
backtrace/backtrace/struct.Frame.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=../../backtrace/struct.Frame.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="../../backtrace/struct.Frame.html">../../backtrace/struct.Frame.html</a>...</p>
|
||||||
|
<script>location.replace("../../backtrace/struct.Frame.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/backtrace/trace.v.html
Normal file
10
backtrace/backtrace/trace.v.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=fn.trace.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="fn.trace.html">fn.trace.html</a>...</p>
|
||||||
|
<script>location.replace("fn.trace.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/capture/Backtrace.t.html
Normal file
10
backtrace/capture/Backtrace.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.Backtrace.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.Backtrace.html">struct.Backtrace.html</a>...</p>
|
||||||
|
<script>location.replace("struct.Backtrace.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/capture/BacktraceFrame.t.html
Normal file
10
backtrace/capture/BacktraceFrame.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.BacktraceFrame.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.BacktraceFrame.html">struct.BacktraceFrame.html</a>...</p>
|
||||||
|
<script>location.replace("struct.BacktraceFrame.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/capture/BacktraceSymbol.t.html
Normal file
10
backtrace/capture/BacktraceSymbol.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.BacktraceSymbol.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.BacktraceSymbol.html">struct.BacktraceSymbol.html</a>...</p>
|
||||||
|
<script>location.replace("struct.BacktraceSymbol.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/capture/struct.Backtrace.html
Normal file
10
backtrace/capture/struct.Backtrace.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=../../backtrace/struct.Backtrace.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="../../backtrace/struct.Backtrace.html">../../backtrace/struct.Backtrace.html</a>...</p>
|
||||||
|
<script>location.replace("../../backtrace/struct.Backtrace.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/capture/struct.BacktraceFrame.html
Normal file
10
backtrace/capture/struct.BacktraceFrame.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=../../backtrace/struct.BacktraceFrame.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="../../backtrace/struct.BacktraceFrame.html">../../backtrace/struct.BacktraceFrame.html</a>...</p>
|
||||||
|
<script>location.replace("../../backtrace/struct.BacktraceFrame.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/capture/struct.BacktraceSymbol.html
Normal file
10
backtrace/capture/struct.BacktraceSymbol.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=../../backtrace/struct.BacktraceSymbol.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="../../backtrace/struct.BacktraceSymbol.html">../../backtrace/struct.BacktraceSymbol.html</a>...</p>
|
||||||
|
<script>location.replace("../../backtrace/struct.BacktraceSymbol.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
151
backtrace/fn.resolve.html
Normal file
151
backtrace/fn.resolve.html
Normal file
|
@ -0,0 +1,151 @@
|
||||||
|
<!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 `resolve` fn in crate `backtrace`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, resolve">
|
||||||
|
|
||||||
|
<title>backtrace::resolve - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc fn">
|
||||||
|
<!--[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>
|
||||||
|
|
||||||
|
<p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'resolve', ty: 'fn', relpath: ''};</script><script defer src="sidebar-items.js"></script>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Function <a href='index.html'>backtrace</a>::<wbr><a class="fn" href=''>resolve</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#39-41' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust fn'>pub fn resolve<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>(&<a class="struct" href="../backtrace/struct.Symbol.html" title="struct backtrace::Symbol">Symbol</a>)>(addr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a>, cb: F)</pre><div class='docblock'><p>Resolve an address to a symbol, passing the symbol to the specified
|
||||||
|
closure.</p>
|
||||||
|
<p>This function will look up the given address in areas such as the local
|
||||||
|
symbol table, dynamic symbol table, or DWARF debug info (depending on the
|
||||||
|
activated implementation) to find symbols to yield.</p>
|
||||||
|
<p>The closure may not be called if resolution could not be performed, and it
|
||||||
|
also may be called more than once in the case of inlined functions.</p>
|
||||||
|
<p>Symbols yielded represent the execution at the specified <code>addr</code>, returning
|
||||||
|
file/line pairs for that address (if available).</p>
|
||||||
|
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">backtrace</span>;
|
||||||
|
|
||||||
|
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||||
|
<span class="ident">backtrace</span>::<span class="ident">trace</span>(<span class="op">|</span><span class="ident">frame</span><span class="op">|</span> {
|
||||||
|
<span class="kw">let</span> <span class="ident">ip</span> <span class="op">=</span> <span class="ident">frame</span>.<span class="ident">ip</span>();
|
||||||
|
|
||||||
|
<span class="ident">backtrace</span>::<span class="ident">resolve</span>(<span class="ident">ip</span>, <span class="op">|</span><span class="ident">symbol</span><span class="op">|</span> {
|
||||||
|
<span class="comment">// ...</span>
|
||||||
|
});
|
||||||
|
|
||||||
|
<span class="bool-val">false</span> <span class="comment">// only look at the top frame</span>
|
||||||
|
});
|
||||||
|
}</pre>
|
||||||
|
</div></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "backtrace";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
154
backtrace/fn.trace.html
Normal file
154
backtrace/fn.trace.html
Normal file
|
@ -0,0 +1,154 @@
|
||||||
|
<!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 `trace` fn in crate `backtrace`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, trace">
|
||||||
|
|
||||||
|
<title>backtrace::trace - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc fn">
|
||||||
|
<!--[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>
|
||||||
|
|
||||||
|
<p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'trace', ty: 'fn', relpath: ''};</script><script defer src="sidebar-items.js"></script>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Function <a href='index.html'>backtrace</a>::<wbr><a class="fn" href=''>trace</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#41-43' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust fn'>pub fn trace<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>(&<a class="struct" href="../backtrace/struct.Frame.html" title="struct backtrace::Frame">Frame</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>>(cb: F)</pre><div class='docblock'><p>Inspects the current call-stack, passing all active frames into the closure
|
||||||
|
provided to calculate a stack trace.</p>
|
||||||
|
<p>This function is the workhorse of this library in calculating the stack
|
||||||
|
traces for a program. The given closure <code>cb</code> is yielded instances of a
|
||||||
|
<code>Frame</code> which represent information about that call frame on the stack. The
|
||||||
|
closure is yielded frames in a top-down fashion (most recently called
|
||||||
|
functions first).</p>
|
||||||
|
<p>The closure's return value is an indication of whether the backtrace should
|
||||||
|
continue. A return value of <code>false</code> will terminate the backtrace and return
|
||||||
|
immediately.</p>
|
||||||
|
<p>Once a <code>Frame</code> is acquired you will likely want to call <code>backtrace::resolve</code>
|
||||||
|
to convert the <code>ip</code> (instruction pointer) or symbol address to a <code>Symbol</code>
|
||||||
|
through which the name and/or filename/line number can be learned.</p>
|
||||||
|
<p>Note that this is a relatively low-level function and if you'd like to, for
|
||||||
|
example, capture a backtrace to be inspected later, then the <code>Backtrace</code>
|
||||||
|
type may be more appropriate.</p>
|
||||||
|
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">backtrace</span>;
|
||||||
|
|
||||||
|
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||||
|
<span class="ident">backtrace</span>::<span class="ident">trace</span>(<span class="op">|</span><span class="ident">frame</span><span class="op">|</span> {
|
||||||
|
<span class="comment">// ...</span>
|
||||||
|
|
||||||
|
<span class="bool-val">true</span> <span class="comment">// continue the backtrace</span>
|
||||||
|
});
|
||||||
|
}</pre>
|
||||||
|
</div></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "backtrace";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
249
backtrace/index.html
Normal file
249
backtrace/index.html
Normal file
|
@ -0,0 +1,249 @@
|
||||||
|
<!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 `backtrace` crate.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, backtrace">
|
||||||
|
|
||||||
|
<title>backtrace - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</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>
|
||||||
|
|
||||||
|
<p class='location'>Crate backtrace</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'backtrace', 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 js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Crate <a class="mod" href=''>backtrace</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/backtrace/lib.rs.html#1-178' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<div class='docblock'><p>A library for acquiring a backtrace at runtime</p>
|
||||||
|
<p>This library is meant to supplement the <code>RUST_BACKTRACE=1</code> support of the
|
||||||
|
standard library by allowing an acquisition of a backtrace at runtime
|
||||||
|
programmatically. The backtraces generated by this library do not need to be
|
||||||
|
parsed, for example, and expose the functionality of multiple backend
|
||||||
|
implementations.</p>
|
||||||
|
<h1 id="implementation" class="section-header"><a href="#implementation">Implementation</a></h1>
|
||||||
|
<p>This library makes use of a number of strategies for actually acquiring a
|
||||||
|
backtrace. For example unix uses libgcc's libunwind bindings by default to
|
||||||
|
acquire a backtrace, but coresymbolication or dladdr is used on OSX to
|
||||||
|
acquire symbol names while linux uses gcc's libbacktrace.</p>
|
||||||
|
<p>When using the default feature set of this library the "most reasonable" set
|
||||||
|
of defaults is chosen for the current platform, but the features activated
|
||||||
|
can also be controlled at a finer granularity.</p>
|
||||||
|
<h1 id="platform-support" class="section-header"><a href="#platform-support">Platform Support</a></h1>
|
||||||
|
<p>Currently this library is verified to work on Linux, OSX, and Windows, but
|
||||||
|
it may work on other platforms as well. Note that the quality of the
|
||||||
|
backtrace may vary across platforms.</p>
|
||||||
|
<h1 id="api-principles" class="section-header"><a href="#api-principles">API Principles</a></h1>
|
||||||
|
<p>This library attempts to be as flexible as possible to accommodate different
|
||||||
|
backend implementations of acquiring a backtrace. Consequently the currently
|
||||||
|
exported functions are closure-based as opposed to the likely expected
|
||||||
|
iterator-based versions. This is done due to limitations of the underlying
|
||||||
|
APIs used from the system.</p>
|
||||||
|
<h1 id="usage" class="section-header"><a href="#usage">Usage</a></h1>
|
||||||
|
<p>First, add this to your Cargo.toml</p>
|
||||||
|
<pre><code class="language-toml">[dependencies]
|
||||||
|
backtrace = "0.2"
|
||||||
|
</code></pre>
|
||||||
|
<p>Next:</p>
|
||||||
|
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">backtrace</span>;
|
||||||
|
|
||||||
|
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||||
|
<span class="ident">backtrace</span>::<span class="ident">trace</span>(<span class="op">|</span><span class="ident">frame</span><span class="op">|</span> {
|
||||||
|
<span class="kw">let</span> <span class="ident">ip</span> <span class="op">=</span> <span class="ident">frame</span>.<span class="ident">ip</span>();
|
||||||
|
<span class="kw">let</span> <span class="ident">symbol_address</span> <span class="op">=</span> <span class="ident">frame</span>.<span class="ident">symbol_address</span>();
|
||||||
|
|
||||||
|
<span class="comment">// Resolve this instruction pointer to a symbol name</span>
|
||||||
|
<span class="ident">backtrace</span>::<span class="ident">resolve</span>(<span class="ident">ip</span>, <span class="op">|</span><span class="ident">symbol</span><span class="op">|</span> {
|
||||||
|
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">name</span>) <span class="op">=</span> <span class="ident">symbol</span>.<span class="ident">name</span>() {
|
||||||
|
<span class="comment">// ...</span>
|
||||||
|
}
|
||||||
|
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">filename</span>) <span class="op">=</span> <span class="ident">symbol</span>.<span class="ident">filename</span>() {
|
||||||
|
<span class="comment">// ...</span>
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
<span class="bool-val">true</span> <span class="comment">// keep going to the next frame</span>
|
||||||
|
});
|
||||||
|
}</pre>
|
||||||
|
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
|
||||||
|
<table>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="struct" href="struct.Backtrace.html"
|
||||||
|
title='struct backtrace::Backtrace'>Backtrace</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>Representation of an owned and self-contained backtrace.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="struct" href="struct.BacktraceFrame.html"
|
||||||
|
title='struct backtrace::BacktraceFrame'>BacktraceFrame</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>Captured version of a frame in a backtrace.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="struct" href="struct.BacktraceSymbol.html"
|
||||||
|
title='struct backtrace::BacktraceSymbol'>BacktraceSymbol</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>Captured version of a symbol in a backtrace.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="struct" href="struct.Frame.html"
|
||||||
|
title='struct backtrace::Frame'>Frame</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>A trait representing one frame of a backtrace, yielded to the <code>trace</code>
|
||||||
|
function of this crate.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="struct" href="struct.Symbol.html"
|
||||||
|
title='struct backtrace::Symbol'>Symbol</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>A trait representing the resolution of a symbol in a file.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="struct" href="struct.SymbolName.html"
|
||||||
|
title='struct backtrace::SymbolName'>SymbolName</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>A wrapper around a symbol name to provide ergonomic accessors to the
|
||||||
|
demangled name, the raw bytes, the raw string, etc.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr></table><h2 id='functions' class='section-header'><a href="#functions">Functions</a></h2>
|
||||||
|
<table>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="fn" href="fn.resolve.html"
|
||||||
|
title='fn backtrace::resolve'>resolve</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>Resolve an address to a symbol, passing the symbol to the specified
|
||||||
|
closure.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class=' module-item'>
|
||||||
|
<td><a class="fn" href="fn.trace.html"
|
||||||
|
title='fn backtrace::trace'>trace</a></td>
|
||||||
|
<td class='docblock-short'>
|
||||||
|
<p>Inspects the current call-stack, passing all active frames into the closure
|
||||||
|
provided to calculate a stack trace.</p>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr></table></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "backtrace";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/resolve.v.html
Normal file
10
backtrace/resolve.v.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=fn.resolve.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="fn.resolve.html">fn.resolve.html</a>...</p>
|
||||||
|
<script>location.replace("fn.resolve.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
1
backtrace/sidebar-items.js
Normal file
1
backtrace/sidebar-items.js
Normal file
|
@ -0,0 +1 @@
|
||||||
|
initSidebarItems({"fn":[["resolve","Resolve an address to a symbol, passing the symbol to the specified closure."],["trace","Inspects the current call-stack, passing all active frames into the closure provided to calculate a stack trace."]],"struct":[["Backtrace","Representation of an owned and self-contained backtrace."],["BacktraceFrame","Captured version of a frame in a backtrace."],["BacktraceSymbol","Captured version of a symbol in a backtrace."],["Frame","A trait representing one frame of a backtrace, yielded to the `trace` function of this crate."],["Symbol","A trait representing the resolution of a symbol in a file."],["SymbolName","A wrapper around a symbol name to provide ergonomic accessors to the demangled name, the raw bytes, the raw string, etc."]]});
|
193
backtrace/struct.Backtrace.html
Normal file
193
backtrace/struct.Backtrace.html
Normal file
|
@ -0,0 +1,193 @@
|
||||||
|
<!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 `Backtrace` struct in crate `backtrace`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, Backtrace">
|
||||||
|
|
||||||
|
<title>backtrace::Backtrace - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct Backtrace</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a><a href="#method.new_unresolved">new_unresolved</a><a href="#method.frames">frames</a><a href="#method.resolve">resolve</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-From%3CVec%3CBacktraceFrame%3E%3E">From<Vec<BacktraceFrame>></a><a href="#impl-Into%3CVec%3CBacktraceFrame%3E%3E">Into<Vec<BacktraceFrame>></a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'Backtrace', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>Backtrace</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/backtrace/capture.rs.html#15-17' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct Backtrace { /* fields omitted */ }</pre><div class='docblock'><p>Representation of an owned and self-contained backtrace.</p>
|
||||||
|
<p>This structure can be used to capture a backtrace at various points in a
|
||||||
|
program and later used to inspect what the backtrace was at that time.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='methods' class='small-section-header'>
|
||||||
|
Methods<a href='#methods' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#46-128' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>pub fn <a href='#method.new' class='fnname'>new</a>() -> <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#62-66' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Captures a backtrace at the callsite of this function, returning an
|
||||||
|
owned representation.</p>
|
||||||
|
<p>This function is useful for representing a backtrace as an object in
|
||||||
|
Rust. This returned value can be sent across threads and printed
|
||||||
|
elsewhere, and the purpose of this value is to be entirely self
|
||||||
|
contained.</p>
|
||||||
|
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">backtrace</span>::<span class="ident">Backtrace</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="ident">current_backtrace</span> <span class="op">=</span> <span class="ident">Backtrace</span>::<span class="ident">new</span>();</pre>
|
||||||
|
</div><h4 id='method.new_unresolved' class="method"><span id='new_unresolved.v' class='invisible'><code>pub fn <a href='#method.new_unresolved' class='fnname'>new_unresolved</a>() -> <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#86-98' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Similar to <code>new</code> except that this does not resolve any symbols, this
|
||||||
|
simply captures the backtrace as a list of addresses.</p>
|
||||||
|
<p>At a later time the <code>resolve</code> function can be called to resolve this
|
||||||
|
backtrace's symbols into readable names. This function exists because
|
||||||
|
the resolution process can sometimes take a significant amount of time
|
||||||
|
whereas any one backtrace may only be rarely printed.</p>
|
||||||
|
<h1 id="examples-1" class="section-header"><a href="#examples-1">Examples</a></h1>
|
||||||
|
<pre class="rust rust-example-rendered">
|
||||||
|
<span class="kw">use</span> <span class="ident">backtrace</span>::<span class="ident">Backtrace</span>;
|
||||||
|
|
||||||
|
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">current_backtrace</span> <span class="op">=</span> <span class="ident">Backtrace</span>::<span class="ident">new_unresolved</span>();
|
||||||
|
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:?}"</span>, <span class="ident">current_backtrace</span>); <span class="comment">// no symbol names</span>
|
||||||
|
<span class="ident">current_backtrace</span>.<span class="ident">resolve</span>();
|
||||||
|
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:?}"</span>, <span class="ident">current_backtrace</span>); <span class="comment">// symbol names now present</span></pre>
|
||||||
|
</div><h4 id='method.frames' class="method"><span id='frames.v' class='invisible'><code>pub fn <a href='#method.frames' class='fnname'>frames</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#105-107' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the frames from when this backtrace was captured.</p>
|
||||||
|
<p>The first entry of this slice is likely the function <code>Backtrace::new</code>,
|
||||||
|
and the last frame is likely something about how this thread or the main
|
||||||
|
function started.</p>
|
||||||
|
</div><h4 id='method.resolve' class="method"><span id='resolve.v' class='invisible'><code>pub fn <a href='#method.resolve' class='fnname'>resolve</a>(&mut self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#114-127' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>If this backtrace was created from <code>new_unresolved</code> then this function
|
||||||
|
will resolve all addresses in the backtrace to their symbolic names.</p>
|
||||||
|
<p>If this backtrace has been previously resolved or was created through
|
||||||
|
<code>new</code>, this function does nothing.</p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Clone' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#12' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#12' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||||
|
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#112-114' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-From%3CVec%3CBacktraceFrame%3E%3E' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a>>> for <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl-From%3CVec%3CBacktraceFrame%3E%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#130-136' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.from' class="method"><span id='from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(frames: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a>>) -> Self</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#131-135' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs the conversion.</p>
|
||||||
|
</div></div><h3 id='impl-Into%3CVec%3CBacktraceFrame%3E%3E' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a>>> for <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl-Into%3CVec%3CBacktraceFrame%3E%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#138-142' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.into' class="method"><span id='into.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#139-141' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs the conversion.</p>
|
||||||
|
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#191-231' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&self, fmt: &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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#192-230' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Default' class='impl'><span class='in-band'><code>impl <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="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl-Default' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#233-237' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.default' class="method"><span id='default.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default' class='fnname'>default</a>() -> <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#234-236' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><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></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "backtrace";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
156
backtrace/struct.BacktraceFrame.html
Normal file
156
backtrace/struct.BacktraceFrame.html
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
<!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 `BacktraceFrame` struct in crate `backtrace`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, BacktraceFrame">
|
||||||
|
|
||||||
|
<title>backtrace::BacktraceFrame - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct BacktraceFrame</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.ip">ip</a><a href="#method.symbol_address">symbol_address</a><a href="#method.symbols">symbols</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'BacktraceFrame', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>BacktraceFrame</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/backtrace/capture.rs.html#26-30' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct BacktraceFrame { /* fields omitted */ }</pre><div class='docblock'><p>Captured version of a frame in a backtrace.</p>
|
||||||
|
<p>This type is returned as a list from <code>Backtrace::frames</code> and represents one
|
||||||
|
stack frame in a captured backtrace.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='methods' class='small-section-header'>
|
||||||
|
Methods<a href='#methods' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#144-167' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.ip' class="method"><span id='ip.v' class='invisible'><code>pub fn <a href='#method.ip' class='fnname'>ip</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#146-148' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Same as <code>Frame::ip</code></p>
|
||||||
|
</div><h4 id='method.symbol_address' class="method"><span id='symbol_address.v' class='invisible'><code>pub fn <a href='#method.symbol_address' class='fnname'>symbol_address</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#151-153' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Same as <code>Frame::symbol_address</code></p>
|
||||||
|
</div><h4 id='method.symbols' class="method"><span id='symbols.v' class='invisible'><code>pub fn <a href='#method.symbols' class='fnname'>symbols</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="../backtrace/struct.BacktraceSymbol.html" title="struct backtrace::BacktraceSymbol">BacktraceSymbol</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#164-166' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the list of symbols that this frame corresponds to.</p>
|
||||||
|
<p>Normally there is only one symbol per frame, but sometimes if a number
|
||||||
|
of functions are inlined into one frame then multiple symbols will be
|
||||||
|
returned. The first symbol listed is the "innermost function", whereas
|
||||||
|
the last symbol is the outermost (last caller).</p>
|
||||||
|
<p>Note that if this frame came from an unresolved backtrace then this will
|
||||||
|
return an empty list.</p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Clone' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#23' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> <a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#23' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||||
|
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#112-114' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||||||
|
</div></div></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "backtrace";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
152
backtrace/struct.BacktraceSymbol.html
Normal file
152
backtrace/struct.BacktraceSymbol.html
Normal file
|
@ -0,0 +1,152 @@
|
||||||
|
<!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 `BacktraceSymbol` struct in crate `backtrace`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, BacktraceSymbol">
|
||||||
|
|
||||||
|
<title>backtrace::BacktraceSymbol - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct BacktraceSymbol</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.name">name</a><a href="#method.addr">addr</a><a href="#method.filename">filename</a><a href="#method.lineno">lineno</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'BacktraceSymbol', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>BacktraceSymbol</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/backtrace/capture.rs.html#39-44' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct BacktraceSymbol { /* fields omitted */ }</pre><div class='docblock'><p>Captured version of a symbol in a backtrace.</p>
|
||||||
|
<p>This type is returned as a list from <code>BacktraceFrame::symbols</code> and
|
||||||
|
represents the metadata for a symbol in a backtrace.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='methods' class='small-section-header'>
|
||||||
|
Methods<a href='#methods' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../backtrace/struct.BacktraceSymbol.html" title="struct backtrace::BacktraceSymbol">BacktraceSymbol</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#169-189' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.name' class="method"><span id='name.v' class='invisible'><code>pub fn <a href='#method.name' class='fnname'>name</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#171-173' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Same as <code>Symbol::name</code></p>
|
||||||
|
</div><h4 id='method.addr' class="method"><span id='addr.v' class='invisible'><code>pub fn <a href='#method.addr' class='fnname'>addr</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#176-178' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Same as <code>Symbol::addr</code></p>
|
||||||
|
</div><h4 id='method.filename' class="method"><span id='filename.v' class='invisible'><code>pub fn <a href='#method.filename' class='fnname'>filename</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#181-183' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Same as <code>Symbol::filename</code></p>
|
||||||
|
</div><h4 id='method.lineno' class="method"><span id='lineno.v' class='invisible'><code>pub fn <a href='#method.lineno' class='fnname'>lineno</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#186-188' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Same as <code>Symbol::lineno</code></p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Clone' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../backtrace/struct.BacktraceSymbol.html" title="struct backtrace::BacktraceSymbol">BacktraceSymbol</a></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#36' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> <a class="struct" href="../backtrace/struct.BacktraceSymbol.html" title="struct backtrace::BacktraceSymbol">BacktraceSymbol</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#36' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||||
|
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#112-114' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||||||
|
</div></div></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "backtrace";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
158
backtrace/struct.Frame.html
Normal file
158
backtrace/struct.Frame.html
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
<!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 `Frame` struct in crate `backtrace`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, Frame">
|
||||||
|
|
||||||
|
<title>backtrace::Frame - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct Frame</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.ip">ip</a><a href="#method.symbol_address">symbol_address</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'Frame', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>Frame</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#51-53' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct Frame { /* fields omitted */ }</pre><div class='docblock'><p>A trait representing one frame of a backtrace, yielded to the <code>trace</code>
|
||||||
|
function of this crate.</p>
|
||||||
|
<p>The tracing function's closure will be yielded frames, and the frame is
|
||||||
|
virtually dispatched as the underlying implementation is not always known
|
||||||
|
until runtime.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='methods' class='small-section-header'>
|
||||||
|
Methods<a href='#methods' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../backtrace/struct.Frame.html" title="struct backtrace::Frame">Frame</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#55-79' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.ip' class="method"><span id='ip.v' class='invisible'><code>pub fn <a href='#method.ip' class='fnname'>ip</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#64-66' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the current instruction pointer of this frame.</p>
|
||||||
|
<p>This is normally the next instruction to execute in the frame, but not
|
||||||
|
all implementations list this with 100% accuracy (but it's generally
|
||||||
|
pretty close).</p>
|
||||||
|
<p>It is recommended to pass this value to <code>backtrace::resolve</code> to turn it
|
||||||
|
into a symbol name.</p>
|
||||||
|
</div><h4 id='method.symbol_address' class="method"><span id='symbol_address.v' class='invisible'><code>pub fn <a href='#method.symbol_address' class='fnname'>symbol_address</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#76-78' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the starting symbol address of the frame of this function.</p>
|
||||||
|
<p>This will attempt to rewind the instruction pointer returned by <code>ip</code> to
|
||||||
|
the start of the function, returning that value. In some cases, however,
|
||||||
|
backends will just return <code>ip</code> from this function.</p>
|
||||||
|
<p>The returned value can sometimes be used if <code>backtrace::resolve</code> failed
|
||||||
|
on the <code>ip</code> given above.</p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../backtrace/struct.Frame.html" title="struct backtrace::Frame">Frame</a></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#81-88' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#82-87' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||||
|
</div></div></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "backtrace";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
168
backtrace/struct.Symbol.html
Normal file
168
backtrace/struct.Symbol.html
Normal file
|
@ -0,0 +1,168 @@
|
||||||
|
<!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 `Symbol` struct in crate `backtrace`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, Symbol">
|
||||||
|
|
||||||
|
<title>backtrace::Symbol - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct Symbol</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.name">name</a><a href="#method.addr">addr</a><a href="#method.filename">filename</a><a href="#method.lineno">lineno</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'Symbol', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>Symbol</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#52-54' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct Symbol { /* fields omitted */ }</pre><div class='docblock'><p>A trait representing the resolution of a symbol in a file.</p>
|
||||||
|
<p>This trait is yielded as a trait object to the closure given to the
|
||||||
|
<code>backtrace::resolve</code> function, and it is virtually dispatched as it's
|
||||||
|
unknown which implementation is behind it.</p>
|
||||||
|
<p>A symbol can give contextual information about a function, for example the
|
||||||
|
name, filename, line number, precise address, etc. Not all information is
|
||||||
|
always available in a symbol, however, so all methods return an <code>Option</code>.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='methods' class='small-section-header'>
|
||||||
|
Methods<a href='#methods' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../backtrace/struct.Symbol.html" title="struct backtrace::Symbol">Symbol</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#56-92' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.name' class="method"><span id='name.v' class='invisible'><code>pub fn <a href='#method.name' class='fnname'>name</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#66-68' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the name of this function.</p>
|
||||||
|
<p>The returned structure can be used to query various properties about the
|
||||||
|
symbol name:</p>
|
||||||
|
<ul>
|
||||||
|
<li>The <code>Display</code> implementation will print out the demangled symbol.</li>
|
||||||
|
<li>The raw <code>str</code> value of the symbol can be accessed (if it's valid
|
||||||
|
utf-8).</li>
|
||||||
|
<li>The raw bytes for the symbol name can be accessed.</li>
|
||||||
|
</ul>
|
||||||
|
</div><h4 id='method.addr' class="method"><span id='addr.v' class='invisible'><code>pub fn <a href='#method.addr' class='fnname'>addr</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#71-73' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the starting address of this function.</p>
|
||||||
|
</div><h4 id='method.filename' class="method"><span id='filename.v' class='invisible'><code>pub fn <a href='#method.filename' class='fnname'>filename</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#81-83' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the file name where this function was defined.</p>
|
||||||
|
<p>This is currently only available when libbacktrace is being used (e.g.
|
||||||
|
unix platforms other than OSX) and when a binary is compiled with
|
||||||
|
debuginfo. If neither of these conditions is met then this will likely
|
||||||
|
return <code>None</code>.</p>
|
||||||
|
</div><h4 id='method.lineno' class="method"><span id='lineno.v' class='invisible'><code>pub fn <a href='#method.lineno' class='fnname'>lineno</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#89-91' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the line number for where this symbol is currently executing.</p>
|
||||||
|
<p>This return value is typically <code>Some</code> if <code>filename</code> returns <code>Some</code>, and
|
||||||
|
is consequently subject to similar caveats.</p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../backtrace/struct.Symbol.html" title="struct backtrace::Symbol">Symbol</a></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#94-111' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#95-110' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||||
|
</div></div></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "backtrace";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
150
backtrace/struct.SymbolName.html
Normal file
150
backtrace/struct.SymbolName.html
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
<!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 `SymbolName` struct in crate `backtrace`.">
|
||||||
|
<meta name="keywords" content="rust, rustlang, rust-lang, SymbolName">
|
||||||
|
|
||||||
|
<title>backtrace::SymbolName - Rust</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../normalize.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="../dark.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
|
||||||
|
<script src="../storage.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body class="rustdoc struct">
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<div class="warning">
|
||||||
|
This old browser is unsupported and will most likely display funky
|
||||||
|
things.
|
||||||
|
</div>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-menu">☰</div>
|
||||||
|
|
||||||
|
<p class='location'>Struct SymbolName</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a><a href="#method.as_str">as_str</a><a href="#method.as_bytes">as_bytes</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Display">Display</a><a href="#impl-Debug">Debug</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'SymbolName', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="theme-picker">
|
||||||
|
<button id="theme-picker" aria-label="Pick another theme!">
|
||||||
|
<img src="../brush.svg" width="18" alt="Pick another theme!">
|
||||||
|
</button>
|
||||||
|
<div id="theme-choices"></div>
|
||||||
|
</div>
|
||||||
|
<script src="../theme.js"></script>
|
||||||
|
<nav class="sub">
|
||||||
|
<form class="search-form js-only">
|
||||||
|
<div class="search-container">
|
||||||
|
<input class="search-input" name="search"
|
||||||
|
autocomplete="off"
|
||||||
|
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||||||
|
type="search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section id='main' class="content">
|
||||||
|
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>SymbolName</a></span><span class='out-of-band'><span id='render-detail'>
|
||||||
|
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||||||
|
[<span class='inner'>−</span>]
|
||||||
|
</a>
|
||||||
|
</span><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#150-154' title='goto source code'>[src]</a></span></h1>
|
||||||
|
<pre class='rust struct'>pub struct SymbolName<'a> { /* fields omitted */ }</pre><div class='docblock'><p>A wrapper around a symbol name to provide ergonomic accessors to the
|
||||||
|
demangled name, the raw bytes, the raw string, etc.</p>
|
||||||
|
</div>
|
||||||
|
<h2 id='methods' class='small-section-header'>
|
||||||
|
Methods<a href='#methods' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl' class='impl'><span class='in-band'><code>impl<'a> <a class="struct" href="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a><'a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#156-189' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>pub fn <a href='#method.new' class='fnname'>new</a>(bytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&'a [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -> <a class="struct" href="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a><'a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#158-173' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Creates a new symbol name from the raw underlying bytes.</p>
|
||||||
|
</div><h4 id='method.as_str' class="method"><span id='as_str.v' class='invisible'><code>pub fn <a href='#method.as_str' class='fnname'>as_str</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#176-183' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the raw symbol name as a <code>str</code> if the symbols is valid utf-8.</p>
|
||||||
|
</div><h4 id='method.as_bytes' class="method"><span id='as_bytes.v' class='invisible'><code>pub fn <a href='#method.as_bytes' class='fnname'>as_bytes</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&'a [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#186-188' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Returns the raw symbol name as a list of bytes</p>
|
||||||
|
</div></div>
|
||||||
|
<h2 id='implementations' class='small-section-header'>
|
||||||
|
Trait Implementations<a href='#implementations' class='anchor'></a>
|
||||||
|
</h2>
|
||||||
|
<h3 id='impl-Display' class='impl'><span class='in-band'><code>impl<'a> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a><'a></code><a href='#impl-Display' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#205-213' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Display.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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#206-212' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
|
||||||
|
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl<'a> <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="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a><'a></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#241-249' title='goto source code'>[src]</a></span></h3>
|
||||||
|
<div class='impl-items'><h4 id='method.fmt-1' class="method"><span id='fmt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.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></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#242-248' title='goto source code'>[src]</a></span></h4>
|
||||||
|
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
|
||||||
|
</div></div></section>
|
||||||
|
<section id='search' class="content hidden"></section>
|
||||||
|
|
||||||
|
<section class="footer"></section>
|
||||||
|
|
||||||
|
<aside id="help" class="hidden">
|
||||||
|
<div>
|
||||||
|
<h1 class="hidden">Help</h1>
|
||||||
|
|
||||||
|
<div class="shortcuts">
|
||||||
|
<h2>Keyboard Shortcuts</h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><kbd>?</kbd></dt>
|
||||||
|
<dd>Show this help dialog</dd>
|
||||||
|
<dt><kbd>S</kbd></dt>
|
||||||
|
<dd>Focus the search field</dd>
|
||||||
|
<dt><kbd>↑</kbd></dt>
|
||||||
|
<dd>Move up in search results</dd>
|
||||||
|
<dt><kbd>↓</kbd></dt>
|
||||||
|
<dd>Move down in search results</dd>
|
||||||
|
<dt><kbd>↹</kbd></dt>
|
||||||
|
<dd>Switch tab</dd>
|
||||||
|
<dt><kbd>⏎</kbd></dt>
|
||||||
|
<dd>Go to active search result</dd>
|
||||||
|
<dt><kbd>+</kbd></dt>
|
||||||
|
<dd>Expand all sections</dd>
|
||||||
|
<dt><kbd>-</kbd></dt>
|
||||||
|
<dd>Collapse all sections</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infos">
|
||||||
|
<h2>Search Tricks</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Prefix searches with a type followed by a colon (e.g.
|
||||||
|
<code>fn:</code>) to restrict the search to a given type.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Accepted types are: <code>fn</code>, <code>mod</code>,
|
||||||
|
<code>struct</code>, <code>enum</code>,
|
||||||
|
<code>trait</code>, <code>type</code>, <code>macro</code>,
|
||||||
|
and <code>const</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Search functions by type signature (e.g.
|
||||||
|
<code>vec -> usize</code> or <code>* -> vec</code>)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.rootPath = "../";
|
||||||
|
window.currentCrate = "backtrace";
|
||||||
|
</script>
|
||||||
|
<script src="../main.js"></script>
|
||||||
|
<script defer src="../search-index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/symbolize/Symbol.t.html
Normal file
10
backtrace/symbolize/Symbol.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.Symbol.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.Symbol.html">struct.Symbol.html</a>...</p>
|
||||||
|
<script>location.replace("struct.Symbol.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/symbolize/SymbolName.t.html
Normal file
10
backtrace/symbolize/SymbolName.t.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=struct.SymbolName.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="struct.SymbolName.html">struct.SymbolName.html</a>...</p>
|
||||||
|
<script>location.replace("struct.SymbolName.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/symbolize/fn.resolve.html
Normal file
10
backtrace/symbolize/fn.resolve.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=../../backtrace/fn.resolve.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="../../backtrace/fn.resolve.html">../../backtrace/fn.resolve.html</a>...</p>
|
||||||
|
<script>location.replace("../../backtrace/fn.resolve.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
10
backtrace/symbolize/resolve.v.html
Normal file
10
backtrace/symbolize/resolve.v.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0;URL=fn.resolve.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href="fn.resolve.html">fn.resolve.html</a>...</p>
|
||||||
|
<script>location.replace("fn.resolve.html" + location.search + location.hash);</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue