Struct alloc::vec::Vec 1.0.0[−][src]
pub struct Vec<T> { /* fields omitted */ }
連続する拡張可能な配列型。Vec<T>
と書かれますが「ベクター」と発音されます。
Examples
let mut vec = Vec::new(); vec.push(1); vec.push(2); assert_eq!(vec.len(), 2); assert_eq!(vec[0], 1); assert_eq!(vec.pop(), Some(2)); assert_eq!(vec.len(), 1); vec[0] = 7; assert_eq!(vec[0], 7); vec.extend([1, 2, 3].iter().cloned()); for x in &vec { println!("{}", x); } assert_eq!(vec, [7, 1, 2, 3]);
初期化を便利にするためにvec!
マクロが提供されています:
let mut vec = vec![1, 2, 3]; vec.push(4); assert_eq!(vec, [1, 2, 3, 4]);
vec!
マクロによって、与えられた値からVec<T>
の各要素を初期化することもできます:
let vec = vec![0; 5]; assert_eq!(vec, [0, 0, 0, 0, 0]);
Vec<T>
を効率的なスタックとして使ってください:
let mut stack = Vec::new(); stack.push(1); stack.push(2); stack.push(3); while let Some(top) = stack.pop() { // 3, 2, 1をプリントします println!("{}", top); }
インデクシング
Vec
型はIndex
トレイトを実装しているので、インデックスを使って値にアクセスすることができます。次の例はより明白でしょう:
let v = vec![0, 2, 4, 6]; println!("{}", v[1]); // 「2」を表示します
しかし注意してください: Vec
に含まれないインデックスにアクセスしようとすると、あなたのソフトウェアはパニックします!このようなことはできません:
let v = vec![0, 2, 4, 6]; println!("{}", v[6]); // パニックします!
結論: インデクシングの前にそのインデックスが本当に存在するかを常に確認してください。
スライシング
Vec
はミュータブルになり得ます。一方、スライスは読み取り専用オブジェクトです。スライスを得るには、&
を使ってください。例:
fn read_slice(slice: &[usize]) { // ... } let v = vec![0, 1]; read_slice(&v); // ... そしてこれだけです! // このようにもできます: let x : &[usize] = &v;
Rustにおいて、単に読み取りアクセスできるようにしたいときはベクターよりもスライスを引数として渡すことが一般的です。String
と&str
についても同様です。
容量とメモリの再確保
ベクターの容量 (capacity) とは将来ベクターに追加される要素のためにアロケートされる領域の量のことです。これをベクターの長さ (length) と混同しないでください。ベクターの長さとはそのベクターに入っている実際の要素の個数のことです。ベクターの長さが容量を超えると、容量は自動的に増えますが、その要素は再確保されなければなりません。
例えば、容量10で長さ0のベクターは追加10要素分の領域をもった空のベクターです。10またはそれ以下の要素をベクターにプッシュしてもベクターの容量は変わりませんし、メモリの再確保も起きません。しかし、ベクターの長さが11まで増加すると、ベクターはメモリを再確保しなければならず、遅いです。このため、ベクターがどれだけ大きくなるかが予期できるときは常にVec::with_capacity
を利用することが推奨されます。
保証
その信じられないほど基本的な性質のために、Vec
はデザインについて多くのことを保証します。Vec
は可能な限りロー・オーバーヘッドであり、アンセーフコードからプリミティブな方法で正しく操作することができます。これらの保証は制限のないVec<T>
を指すことに注意してください。もし追加の型パラメータが追加されれば (例えばカスタムアロケータのサポートのために)、Vec
のデフォルトを上書きすることで動作が変わるかもしれません。
最も基本的なこととして、Vec
は (ポインタ, 容量, 長さ) の三つ組であり将来的にも常にそうです。それ以上でも以下でもありません。これらのフィールドの順序は完全に未規定であり、その値を変更するためには適切なメソッドを使うべきです。ポインタは決してヌルにはなりません。ですので、この型はヌルポインタ最適化されます。
しかし、ポインタは実際には確保されたメモリを指さないかもしれません。特に、空のベクターの作成をVec::new
やvec![]
やVec::with_capacity(0)
により行ったり、shrink_to_fit
の空のベクターでの呼び出しから行ったりするとき、メモリを確保しません。同様に、ゼロサイズ型をVec
に格納するとき、それらのための領域を確保しません。この場合Vec
はcapacity
がゼロであると伝えないかもしれないことに注意してください。Vec
はmem::size_of::<T>
() * capacity() > 0
のとき、またそのときに限りメモリを確保します。一般に、Vec
のアロケーションの詳細はとても微妙です — もしVec
を使ってメモリを確保し他の何か (アンセーフコードに渡す、またはメモリが背後にあるあなた自身のコレクションのいずれか) に使うつもりなら、必ずfrom_raw_parts
を使ってVec
を復元しドロップすることでそのメモリを解放してください。
Vec
がメモリを確保しているとき、Vec
が指すメモリはヒープにあり (Rustがデフォルトで使うよう設定されたアロケータによって定義されるように) 、ポインタはlen
個の初期化された、連続する (スライスに強制したときと同じ) 順に並んだ要素を指し、capacity
-
len
個の論理的な初期化がされていない、連続する要素が後続します。
Vec
は要素を実際にはスタックに格納する"small optimization"を決して行いません。それは2つの理由のためです:
- アンセーフコードが
Vec
を扱うことを難しくします。Vec
が単にムーブされるときVec
の中身は安定したアドレスを持たないでしょう。そしてVec
が実際に確保されたメモリを持っているかを決定することが難しくなるでしょう。
- アクセス毎に追加の分岐を招くことで、一般的な状況で不利になるでしょう。
Vec
は決して自動で縮みません。まったく空のときでさえもです。これによりメモリの不要な確保や解放が発生しないことが確実になります。Vec
を空にし、それから同じlen
以下まで埋め直すことがアロケータへの呼び出しを招くことは決してありません。もし使われていないメモリを解放したいなら、shrink_to_fit
を使ってください。
通知された容量が十分なときpush
とinsert
は絶対にメモリを(再)確保しません。push
とinsert
はlen
==
capacity
のときメモリを(再)確保します。つまり、知らされる容量は完全に正確で、信頼することができます。必要に応じてVec
によって確保されたメモリを手動で解放することもできます。バラバラに挿入するメソッドは必要がない場合もメモリの再確保をしてしまうかもしれません。
Vec
は満杯になったときやreserve
が呼び出されたときにメモリの再確保をする際の特定の拡張戦略をまったく保証しません。現在の戦略は基本的であり、定数でない増大係数が望ましいことが証明されるかもしれません。どのような戦略を使うとしても当然push
が償却O(1)
であることは保証されます。
vec![x; n]
とvec![a, b, c, d]
とVec::with_capacity(n)
は全て正確に要求した容量を持つVec
を提供します。(vec
マクロの場合のように) len
==
capacity
ならば、Vec<T>
はメモリの再確保や要素の移動なしにBox<[T]>
と相互に変換できます。
Vec
は特に取り除かれたデータを上書きするとは限りませんが、特に取っておくとも限りません。未初期化メモリは必要ならばいつでもVec
が使ってよい一時領域です。Vec
は一般に最も効率がいいような、または実装しやすいような動作をします。セキュリティ目的で取り除かれたデータが消去されることを頼ってはいけません。Vec
をドロップしたとしても、そのVec
のバッファは他のVec
に再利用されるかもしれません。Vec
のメモリを最初にゼロにしたとしても、オプティマイザが保護すべき副作用だと考えないためにそれが実際には起こらないかもしれません。しかしながら、私達が破壊しないであろうケースが一つあります: unsafe
コードを使って過剰分の容量に書き込んでから、それに合うように長さを増加させることは常に正当です.
Vec
は現在、要素をドロップする順序を保証しません。過去に順序を変更したことがあり、また変更するかもしれません。
Methods
impl<T> Vec<T>
[src]
impl<T> Vec<T>
pub const fn new() -> Vec<T>
[src]
pub const fn new() -> Vec<T>
pub fn with_capacity(capacity: usize) -> Vec<T>
[src]
pub fn with_capacity(capacity: usize) -> Vec<T>
新しい空のVec<T>
を指定された容量で作成します。
返されたベクターはメモリの再確保なしにちょうどcapacity
個の要素を格納することができます。capacity
が0ならばメモリを確保しません。
返されたベクターは指定された容量を持ちますが、長さが0であることに注意することが大切です。長さと容量の違いの説明については*容量とメモリの再確保*を参照してください。
Examples
let mut vec = Vec::with_capacity(10); // 0より大きい容量を持ちますが、要素は持ちません。 assert_eq!(vec.len(), 0); これらは全てメモリの再確保なしに行われます... for i in 0..10 { vec.push(i) } // ...しかしこれはメモリを再確保するかもしれません vec.push(11);
pub unsafe fn from_raw_parts(
ptr: *mut T,
length: usize,
capacity: usize
) -> Vec<T>
[src]
pub unsafe fn from_raw_parts(
ptr: *mut T,
length: usize,
capacity: usize
) -> Vec<T>
Vec<T>
を他のベクターの生の構成要素から直接作成します。
Safety
このメソッドは非常にアンセーフです。いくつものチェックされない不変量があるためです:
ptr
は以前にString
/Vec<T>
で確保されいる必要があります (少なくともそうでなければ非常に不適切です)。ptr
のT
はアロケートされたときと同じサイズ、同じアラインメントである必要があります。length
はcapacity
以下である必要があります。capacity
はポインタがアロケートされたときの容量である必要があります。
これらに違反すると、アロケータの内部データ構造を破壊することになるかもしれません。例えばVec<u8>
をCのchar
配列とsize_t
から作成することは安全ではありません。
ptr
の所有権は有効にVec<T>
に移り、そのVec<T>
は思うままにメモリの破棄や再確保やポインタの指すメモリの内容の変更する権利を得ます。この関数を呼んだ後にポインタを使うことがないことを確実にしてください。
Examples
use std::ptr; use std::mem; fn main() { let mut v = vec![1, 2, 3]; // さまざまな`v`の情報の重要な断片を抜き出します let p = v.as_mut_ptr(); let len = v.len(); let cap = v.capacity(); unsafe { // `v`をvoidにキャストします: デストラクタは走りません。 // よって`p`が指す確保されたメモリを完全に管理することになります。 mem::forget(v); // メモリを4, 5, 6で上書きします for i in 0..len as isize { ptr::write(p.offset(i), 4 + i); } // 全てを合わせてVecに戻します let rebuilt = Vec::from_raw_parts(p, len, cap); assert_eq!(rebuilt, [4, 5, 6]); } }
pub fn capacity(&self) -> usize
[src]
pub fn capacity(&self) -> usize
ベクターがメモリの再確保なしに保持することのできる要素の数を返します。
Examples
let vec: Vec<i32> = Vec::with_capacity(10); assert_eq!(vec.capacity(), 10);
pub fn reserve(&mut self, additional: usize)
[src]
pub fn reserve(&mut self, additional: usize)
少なくともadditional
個の要素与えられたVec<T>
に挿入できるように容量を確保します。コレクションは頻繁なメモリの再確保を避けるために領域を多めに確保するかもしれません。reserve
を呼び出した後、容量はself.len() + addtional
以上になります。容量が既に十分なときは何もしません。
Panics
新たな容量がusize
に収まらないときパニックします。
Examples
let mut vec = vec![1]; vec.reserve(10); assert!(vec.capacity() >= 11);
pub fn reserve_exact(&mut self, additional: usize)
[src]
pub fn reserve_exact(&mut self, additional: usize)
ちょうどadditional
個の要素を与えられたVec<T>
に挿入できるように最低限の容量を確保します。reserve_exact
を呼び出した後、容量はself.len() + additional
以上になります。容量が既に十分なときは何もしません。
アロケータは要求したより多くの領域を確保するかもしれないことに注意してください。そのためキャパシティが正確に最低限であることに依存することはできません。将来の挿入が予期される場合reserve
のほうが好ましいです。
Panics
新たな容量がusize
に収まらないときパニックします。
Examples
let mut vec = vec![1]; vec.reserve_exact(10); assert!(vec.capacity() >= 11);
pub fn try_reserve(
&mut self,
additional: usize
) -> Result<(), CollectionAllocErr>
[src]
pub fn try_reserve(
&mut self,
additional: usize
) -> Result<(), CollectionAllocErr>
🔬 This is a nightly-only experimental API. (try_reserve
#48043)
new API
少なくともadditional
個の要素を与えられたVec<T>
に挿入できるように容量を確保することを試みます。コレクションは頻繁なリメモリの再確保を避けるために領域を多めに確保するかもしれません。reserve
を呼び出した後、容量はself.len() + addtional
以上になります。容量が既に十分なときは何もしません。
Errors
容量がオーバーフローする、またはアロケータが失敗を通知するときエラーを返します。
Examples
#![feature(try_reserve)] use std::collections::CollectionAllocErr; fn process_data(data: &[u32]) -> Result<Vec<u32>, CollectionAllocErr> { let mut output = Vec::new(); // 予めメモリを確保し、できなければ脱出する output.try_reserve(data.len())?; // 今、これが複雑な作業の途中でOOMし得ないことがわかっています // Now we know this can't OOM in the middle of our complex work output.extend(data.iter().map(|&val| { val * 2 + 5 // すごく複雑 })); Ok(output) }
pub fn try_reserve_exact(
&mut self,
additional: usize
) -> Result<(), CollectionAllocErr>
[src]
pub fn try_reserve_exact(
&mut self,
additional: usize
) -> Result<(), CollectionAllocErr>
🔬 This is a nightly-only experimental API. (try_reserve
#48043)
new API
ちょうどadditional
個の要素与えられたVec<T>
に挿入できるように最低限の容量を確保することを試みます。コレクションは頻繁なメモリの再確保を避けるために領域を多めに確保するかもしれません。reserve_exact
を呼び出した後、容量はself.len() + addtional
以上になります。容量が既に十分なときは何もしません。
アロケータは要求したより多くの領域を確保するかもしれないことに注意してください。そのためキャパシティが正確に最小であることに依存することはできません。将来の挿入が予期される場合reserve
のほうが好ましいです。
Errors
容量がオーバーフローする、またはアロケータが失敗を通知するときエラーを返します。
Examples
#![feature(try_reserve)] use std::collections::CollectionAllocErr; fn process_data(data: &[u32]) -> Result<Vec<u32>, CollectionAllocErr> { let mut output = Vec::new(); // 予めメモリを確保し、できなければ脱出する output.try_reserve(data.len())?; // 今、これが複雑な作業の途中でOOMし得ないことがわかっています // Now we know this can't OOM in the middle of our complex work output.extend(data.iter().map(|&val| { val * 2 + 5 // すごく複雑 })); Ok(output) }
pub fn shrink_to_fit(&mut self)
[src]
pub fn shrink_to_fit(&mut self)
ベクターの容量を可能な限り縮小します。
可能な限り長さの近くまで領域を破棄しますが、アロケータはまだ少し要素を格納できる領域があるとベクターに通知するかもしれません。
Examples
let mut vec = Vec::with_capacity(10); vec.extend([1, 2, 3].iter().cloned()); assert_eq!(vec.capacity(), 10); vec.shrink_to_fit(); assert!(vec.capacity() >= 3);
pub fn shrink_to(&mut self, min_capacity: usize)
[src]
pub fn shrink_to(&mut self, min_capacity: usize)
🔬 This is a nightly-only experimental API. (shrink_to
)
new API
下限付きでベクターを縮小します。
容量は最低でも長さと与えられた値以上になります。
現在の容量が与えられた値より小さい場合パニックします。
Examples
#![feature(shrink_to)] let mut vec = Vec::with_capacity(10); vec.extend([1, 2, 3].iter().cloned()); assert_eq!(vec.capacity(), 10); vec.shrink_to(4); assert!(vec.capacity() >= 4); vec.shrink_to(0); assert!(vec.capacity() >= 3);
ⓘImportant traits for Box<I>pub fn into_boxed_slice(self) -> Box<[T]>
[src]
pub fn into_boxed_slice(self) -> Box<[T]>
ベクターをBox<[T]>
に変換します。
このメソッドが余剰の容量を落とすことに注意してください。
Examples
let v = vec![1, 2, 3]; let slice = v.into_boxed_slice();
余剰の容量は取り除かれます:
let mut vec = Vec::with_capacity(10); vec.extend([1, 2, 3].iter().cloned()); assert_eq!(vec.capacity(), 10); let slice = vec.into_boxed_slice(); assert_eq!(slice.into_vec().capacity(), 3);
pub fn truncate(&mut self, len: usize)
[src]
pub fn truncate(&mut self, len: usize)
初めのlen
個の要素を残し、残りを捨てることでベクターを短くします。
len
がベクターの現在の長さより大きいときは何の効果もありません。
drain
メソッドはtruncate
をエミュレートできますが、余剰の要素を捨てる代わりに返すことになります。
このメソッドはベクターの確保された容量に影響しないことに注意してください。
Examples
五要素のベクターの二要素への切り詰め:
let mut vec = vec![1, 2, 3, 4, 5]; vec.truncate(2); assert_eq!(vec, [1, 2]);
len
がベクターの現在の長さより大きいときは切り詰めが起きません:
let mut vec = vec![1, 2, 3]; vec.truncate(8); assert_eq!(vec, [1, 2, 3]);
len == 0
のときの切り詰めはclear
の呼び出しと同値です。
let mut vec = vec![1, 2, 3]; vec.truncate(0); assert_eq!(vec, []);
pub fn as_slice(&self) -> &[T]
1.7.0[src]
pub fn as_slice(&self) -> &[T]
ベクター全体を含むスライスを抜き出します。
&s[..]
と同値です。
Examples
use std::io::{self, Write}; let buffer = vec![1, 2, 3, 5, 8]; io::sink().write(buffer.as_slice()).unwrap();
pub fn as_mut_slice(&mut self) -> &mut [T]
1.7.0[src]
pub fn as_mut_slice(&mut self) -> &mut [T]
ベクター全体のミュータブルなスライスを抜き出します。
&mut s[..]
と同値です。
Examples
use std::io::{self, Read}; let mut buffer = vec![0; 3]; io::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
pub unsafe fn set_len(&mut self, len: usize)
[src]
pub unsafe fn set_len(&mut self, len: usize)
ベクターの長さを設定します。
このメソッドは明示的にベクターの大きさを設定し、実際にはバッファを変更しません。 よって呼び出し元はベクターが実際に指定された大きさを持つことを保証する義務があります。
Examples
use std::ptr; let mut vec = vec!['r', 'u', 's', 't']; unsafe { ptr::drop_in_place(&mut vec[3]); vec.set_len(3); } assert_eq!(vec, ['r', 'u', 's']);
この例ではメモリリークがあります。内部のベクターが所有するメモリ上の位置がset_len
の呼び出しの前に解放されていないからです:
let mut vec = vec![vec![1, 0, 0], vec![0, 1, 0], vec![0, 0, 1]]; unsafe { vec.set_len(0); }
この例ではまったくメモリ確保を起こさずにゼロ個から四個にベクターを拡張することによって、確保されていないメモリがベクターの値になっています:
let mut vec: Vec<char> = Vec::new(); unsafe { vec.set_len(4); }
pub fn swap_remove(&mut self, index: usize) -> T
[src]
pub fn swap_remove(&mut self, index: usize) -> T
ベクターから要素を取り除き、その要素を返します。
取り除かれた要素はベクターの最後の要素に置き換えられます。
このメソッドは順序を保ちませんが、O(1)です。
Panics
index
が境界の外にあるときパニックします。
Examples
let mut v = vec!["foo", "bar", "baz", "qux"]; assert_eq!(v.swap_remove(1), "bar"); assert_eq!(v, ["foo", "qux", "baz"]); assert_eq!(v.swap_remove(0), "foo"); assert_eq!(v, ["baz", "qux"]);
pub fn insert(&mut self, index: usize, element: T)
[src]
pub fn insert(&mut self, index: usize, element: T)
後続する全ての要素を右側に移動して、要素をベクターのindex
の位置に挿入します。
Panics
index > len
のときパニックします。
Examples
let mut vec = vec![1, 2, 3]; vec.insert(1, 4); assert_eq!(vec, [1, 4, 2, 3]); vec.insert(4, 5); assert_eq!(vec, [1, 4, 2, 3, 5]);
pub fn remove(&mut self, index: usize) -> T
[src]
pub fn remove(&mut self, index: usize) -> T
ベクターのindex
の位置にある要素を取り除き、返します。後続するすべての要素は左に移動します。
Panics
index
が教会の外にあるときパニックします。
Examples
let mut v = vec![1, 2, 3]; assert_eq!(v.remove(1), 2); assert_eq!(v, [1, 3]);
pub fn retain<F>(&mut self, f: F) where
F: FnMut(&T) -> bool,
[src]
pub fn retain<F>(&mut self, f: F) where
F: FnMut(&T) -> bool,
命題で指定された要素だけを残します。
言い換えると、f(&e)
がfalse
を返すような全てのe
を取り除きます。このメソッドはインプレースで動作し、残った要素の順序を保ちます。
Examples
let mut vec = vec![1, 2, 3, 4]; vec.retain(|&x| x%2 == 0); assert_eq!(vec, [2, 4]);
pub fn dedup_by_key<F, K>(&mut self, key: F) where
F: FnMut(&mut T) -> K,
K: PartialEq,
1.16.0[src]
pub fn dedup_by_key<F, K>(&mut self, key: F) where
F: FnMut(&mut T) -> K,
K: PartialEq,
ベクター内の同じキーが解決される連続した要素から先頭以外全てを取り除きます。
ベクターがソートされているとき、このメソッドは全ての重複を取り除きます。
Examples
let mut vec = vec![10, 20, 21, 30, 20]; vec.dedup_by_key(|i| *i / 10); assert_eq!(vec, [10, 20, 30, 20]);
pub fn dedup_by<F>(&mut self, same_bucket: F) where
F: FnMut(&mut T, &mut T) -> bool,
1.16.0[src]
pub fn dedup_by<F>(&mut self, same_bucket: F) where
F: FnMut(&mut T, &mut T) -> bool,
ベクター内の与えられた等価関係を満たす連続する要素から先頭以外全てを取り除きます。
same_bucket
関数はベクターから二つの要素を渡され、その要素を比較して等しいときtrue
を返し、そうでないときfalse
を返します。
要素はベクター内での順と逆の順で渡されるので、same_bucket(a, b)
がtrue
を返すとき、a
が取り除かれます。
ベクターがソートされているとき、このメソッドは全ての重複を取り除きます。
Examples
let mut vec = vec!["foo", "bar", "Bar", "baz", "bar"]; vec.dedup_by(|a, b| a.eq_ignore_ascii_case(b)); assert_eq!(vec, ["foo", "bar", "baz", "bar"]);
pub fn push(&mut self, value: T)
[src]
pub fn push(&mut self, value: T)
要素をコレクションの後方に加えます。
Panics
ベクター内の要素の数がusize
に収まらない場合パニックします。
Examples
let mut vec = vec![1, 2]; vec.push(3); assert_eq!(vec, [1, 2, 3]);
pub fn pop(&mut self) -> Option<T>
[src]
pub fn pop(&mut self) -> Option<T>
Removes the last element from a vector and returns it, or None
if it
is empty.
Examples
let mut vec = vec![1, 2, 3]; assert_eq!(vec.pop(), Some(3)); assert_eq!(vec, [1, 2]);
pub fn append(&mut self, other: &mut Self)
1.4.0[src]
pub fn append(&mut self, other: &mut Self)
other
の要素を全てSelf
に移動し、other
を空にします。
Panics
ベクターの要素の数がusize
に収まらない場合パニックします。
Examples
let mut vec = vec![1, 2, 3]; let mut vec2 = vec![4, 5, 6]; vec.append(&mut vec2); assert_eq!(vec, [1, 2, 3, 4, 5, 6]); assert_eq!(vec2, []);
ⓘImportant traits for Drain<'a, T>pub fn drain<R>(&mut self, range: R) -> Drain<T> where
R: RangeBounds<usize>,
1.6.0[src]
pub fn drain<R>(&mut self, range: R) -> Drain<T> where
R: RangeBounds<usize>,
ベクター内の指定された区間を取り除き、取り除かれた要素を与える排出イテレータを作成します。
注1: イテレータが部分的にだけ消費される、またはまったく消費されない場合も区間内の要素は取り除かれます。
注2: Drain
の値がリークしたとき、ベクターから要素がいくつ取り除かれるかは未規定です。
Panics
始点が終点より大きい、または終了位置がベクターの長さより大きいときパニックします。
Examples
let mut v = vec![1, 2, 3]; let u: Vec<_> = v.drain(1..).collect(); assert_eq!(v, &[1]); assert_eq!(u, &[2, 3]); // 全区間でベクターをクリアします v.drain(..); assert_eq!(v, &[]);
pub fn clear(&mut self)
[src]
pub fn clear(&mut self)
全ての値を取り除き、ベクターを空にします。
このメソッドは確保された容量に影響を持たないことに注意してください。
Examples
let mut v = vec![1, 2, 3]; v.clear(); assert!(v.is_empty());
pub fn len(&self) -> usize
[src]
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
[src]
pub fn is_empty(&self) -> bool
ベクターが要素を持たないときtrue
を返します。
Examples
let mut v = Vec::new(); assert!(v.is_empty()); v.push(1); assert!(!v.is_empty());
pub fn split_off(&mut self, at: usize) -> Self
1.4.0[src]
pub fn split_off(&mut self, at: usize) -> Self
コレクションを与えられたインデックスで二つに分割します。
新たにアロケートされたSelf
を返します。self
は[0, at)
の要素を含み、返されたSelf
は[at, len)
の要素を含みます。
self
の容量は変わらないことに注意してください。
Panics
at > len
のときパニックします。
Examples
let mut vec = vec![1,2,3]; let vec2 = vec.split_off(1); assert_eq!(vec, [1]); assert_eq!(vec2, [2, 3]);
pub fn resize_with<F>(&mut self, new_len: usize, f: F) where
F: FnMut() -> T,
[src]
pub fn resize_with<F>(&mut self, new_len: usize, f: F) where
F: FnMut() -> T,
Vec
をlen
とnew_len
が等しくなるようにインプレースでリサイズします。
new_len
がlen
よりも大きいときVec
は差の分だけ拡張され、追加された場所はクロージャf
を呼び出した結果で埋められます。f
の戻り値は生成された順にVec
に入ります。
new_len
がlen
より小さいときVec
は単に切り詰められます。
このメソッドはプッシュ毎にクロージャを使用して新しい値を作成します。与えられた値をClone
するほうが望ましい場合はresize
を使用してください。値を生成するのにDefault
を使いたい場合はDefault::default()
を第二引数として渡すことができます。
Examples
#![feature(vec_resize_with)] let mut vec = vec![1, 2, 3]; vec.resize_with(5, Default::default); assert_eq!(vec, [1, 2, 3, 0, 0]); let mut vec = vec![]; let mut p = 1; vec.resize_with(4, || { p *= 2; p }); assert_eq!(vec, [2, 4, 8, 16]);
impl<T: Clone> Vec<T>
[src]
impl<T: Clone> Vec<T>
pub fn resize(&mut self, new_len: usize, value: T)
1.5.0[src]
pub fn resize(&mut self, new_len: usize, value: T)
Vec
をlen
とnew_len
が等しくなるようにインプレースでリサイズします。
new_len
がlen
よりも大きいときVec
は差の分だけ拡張され、追加分の位置はvalue
で埋められます。new_len
がlen
より小さいときVec
は単に切り詰められます。
このメソッドは与えられた値を複製するためにClone
を要求します。もっと柔軟であることを求めるなら (またはClone
の代わりにDefault
に依存したいなら)、resize_with
を使用してください。
Examples
let mut vec = vec!["hello"]; vec.resize(3, "world"); assert_eq!(vec, ["hello", "world", "world"]); let mut vec = vec![1, 2, 3, 4]; vec.resize(2, 0); assert_eq!(vec, [1, 2]);
pub fn extend_from_slice(&mut self, other: &[T])
1.6.0[src]
pub fn extend_from_slice(&mut self, other: &[T])
スライスのすべての要素を複製しVec
に追加します。
スライスother
の各要素を複製し、そしてそれをVec
に追加します。other
は順番に反復されます。
この関数はスライスと共に動作することに特殊化していることを除いてextend
と同じであることに注意してください。
もしRustが特殊化 (訳注: specialization) を得た場合、この関数は恐らく非推奨になります (しかしそれでも利用は可能です)。
Examples
let mut vec = vec![1]; vec.extend_from_slice(&[2, 3, 4]); assert_eq!(vec, [1, 2, 3, 4]);
impl<T: Default> Vec<T>
[src]
impl<T: Default> Vec<T>
pub fn resize_default(&mut self, new_len: usize)
[src]
pub fn resize_default(&mut self, new_len: usize)
Vec
をlen
とnew_len
が等しくなるようにインプレースでリサイズします。
new_len
がlen
よりも大きいときVec
は差の分だけ拡張され、追加分の位置はDefault::default()
で埋められます。new_len
がlen
より小さいときVec
は単に切り詰められます。
このメソッドはプッシュ毎にDefault
を使用して新しい値を作成します。Clone
のほうが好ましい場合はresize
を使用してください。
Examples
#![feature(vec_resize_default)] let mut vec = vec![1, 2, 3]; vec.resize_default(5); assert_eq!(vec, [1, 2, 3, 0, 0]); let mut vec = vec![1, 2, 3, 4]; vec.resize_default(2); assert_eq!(vec, [1, 2]);
impl<T: PartialEq> Vec<T>
[src]
impl<T: PartialEq> Vec<T>
pub fn dedup(&mut self)
[src]
pub fn dedup(&mut self)
連続して繰り返される要素を取り除きます。
ベクターがソートされているときこのメソッドは全ての重複を取り除きます。
Examples
let mut vec = vec![1, 2, 2, 3, 2]; vec.dedup(); assert_eq!(vec, [1, 2, 3, 2]);
pub fn remove_item(&mut self, item: &T) -> Option<T>
[src]
pub fn remove_item(&mut self, item: &T) -> Option<T>
🔬 This is a nightly-only experimental API. (vec_remove_item
#40062)
recently added
ベクターから最初のitem
のインスタンスをもし存在するなら取り除きます。
Examples
let mut vec = vec![1, 2, 3, 1]; vec.remove_item(&1); assert_eq!(vec, vec![2, 3, 1]);
impl<T> Vec<T>
[src]
impl<T> Vec<T>
ⓘImportant traits for Splice<'a, I>pub fn splice<R, I>(&mut self, range: R, replace_with: I) -> Splice<I::IntoIter> where
R: RangeBounds<usize>,
I: IntoIterator<Item = T>,
1.21.0[src]
pub fn splice<R, I>(&mut self, range: R, replace_with: I) -> Splice<I::IntoIter> where
R: RangeBounds<usize>,
I: IntoIterator<Item = T>,
ベクター内の指定された区間を与えられたreplace_with
イテレータで置き換え、取り除かれた要素を与える置換イテレータを作成します。replace_with
はrange
と同じ長さでなくてもかまいません。
注1: イテレータが最後まで消費されないとしても区間内の要素は取り除かれます。
Splice
の値がリークした場合、いくつの要素がベクターから取り除かれるかは未規定です。
注3: Splice
がドロップされたとき、入力イテレータreplace_with
は消費だけされます。
注4: このメソッドは次の場合最適です:
- 後部 (ベクター内の
range
の後の要素) が空のとき - または
replace_with
がrange
の長さ以下の個数の要素を与えるとき - または
size_hint()
の下限が正確であるとき。
Panics
始点が終点より大きい場合、または終点がベクターの長さより大きい場合パニックします。
Examples
let mut v = vec![1, 2, 3]; let new = [7, 8]; let u: Vec<_> = v.splice(..2, new.iter().cloned()).collect(); assert_eq!(v, &[7, 8, 3]); assert_eq!(u, &[1, 2]);
ⓘImportant traits for DrainFilter<'a, T, F>pub fn drain_filter<F>(&mut self, filter: F) -> DrainFilter<T, F> where
F: FnMut(&mut T) -> bool,
[src]
pub fn drain_filter<F>(&mut self, filter: F) -> DrainFilter<T, F> where
F: FnMut(&mut T) -> bool,
🔬 This is a nightly-only experimental API. (drain_filter
#43244)
recently added
要素を取り除くべきかの判定にクロージャを利用するイテレータを作成します。
クロージャがtrueを返すとき、要素は取り除かれ、イテレータによって与えられます。 クロージャがfalseを返すとき、要素はベクターに残り、イテレータによって与えられません。
このメソッドを使うことは次のコードと同値です:
let mut i = 0; while i != vec.len() { if some_predicate(&mut vec[i]) { let val = vec.remove(i); // ここにあなたのコード } else { i += 1; } }
しかしdrain_filter
はより簡単に使えます。drain_filter
は配列の要素をまとめて移動できるので、効率的でもあります。
drain_filter
では保持か除外かの選択に関わらず、filterクロージャの中で各要素を変化させることもできるので注意してください。
Examples
配列を偶数と奇数に分割し、元の確保されたメモリを再利用します:
#![feature(drain_filter)] let mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15]; let evens = numbers.drain_filter(|x| *x % 2 == 0).collect::<Vec<_>>(); let odds = numbers; assert_eq!(evens, vec![2, 4, 6, 8, 14]); assert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);
Trait Implementations
impl<T> From<Vec<T>> for Arc<[T]>
1.21.0[src]
impl<T> From<Vec<T>> for Arc<[T]>
impl<T> From<Vec<T>> for Rc<[T]>
1.21.0[src]
impl<T> From<Vec<T>> for Rc<[T]>
impl<T: Ord> From<Vec<T>> for BinaryHeap<T>
1.5.0[src]
impl<T: Ord> From<Vec<T>> for BinaryHeap<T>
fn from(vec: Vec<T>) -> BinaryHeap<T>
[src]
fn from(vec: Vec<T>) -> BinaryHeap<T>
Performs the conversion.
impl<T> From<BinaryHeap<T>> for Vec<T>
1.5.0[src]
impl<T> From<BinaryHeap<T>> for Vec<T>
fn from(heap: BinaryHeap<T>) -> Vec<T>
[src]
fn from(heap: BinaryHeap<T>) -> Vec<T>
Performs the conversion.
impl<T> Borrow<[T]> for Vec<T>
[src]
impl<T> Borrow<[T]> for Vec<T>
impl<T> BorrowMut<[T]> for Vec<T>
[src]
impl<T> BorrowMut<[T]> for Vec<T>
fn borrow_mut(&mut self) -> &mut [T]
[src]
fn borrow_mut(&mut self) -> &mut [T]
Mutably borrows from an owned value. Read more
impl From<String> for Vec<u8>
1.14.0[src]
impl From<String> for Vec<u8>
impl<T: Clone> Clone for Vec<T>
[src]
impl<T: Clone> Clone for Vec<T>
fn clone(&self) -> Vec<T>
[src]
fn clone(&self) -> Vec<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, other: &Vec<T>)
[src]
fn clone_from(&mut self, other: &Vec<T>)
Performs copy-assignment from source
. Read more
impl<T: Hash> Hash for Vec<T>
[src]
impl<T: Hash> Hash for Vec<T>
fn hash<H: Hasher>(&self, state: &mut H)
[src]
fn hash<H: Hasher>(&self, state: &mut H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<T, I> Index<I> for Vec<T> where
I: SliceIndex<[T]>,
[src]
impl<T, I> Index<I> for Vec<T> where
I: SliceIndex<[T]>,
type Output = I::Output
The returned type after indexing.
fn index(&self, index: I) -> &Self::Output
[src]
fn index(&self, index: I) -> &Self::Output
Performs the indexing (container[index]
) operation.
impl<T, I> IndexMut<I> for Vec<T> where
I: SliceIndex<[T]>,
[src]
impl<T, I> IndexMut<I> for Vec<T> where
I: SliceIndex<[T]>,
fn index_mut(&mut self, index: I) -> &mut Self::Output
[src]
fn index_mut(&mut self, index: I) -> &mut Self::Output
Performs the mutable indexing (container[index]
) operation.
impl<T> Deref for Vec<T>
[src]
impl<T> Deref for Vec<T>
type Target = [T]
The resulting type after dereferencing.
fn deref(&self) -> &[T]
[src]
fn deref(&self) -> &[T]
Dereferences the value.
impl<T> DerefMut for Vec<T>
[src]
impl<T> DerefMut for Vec<T>
impl<T> FromIterator<T> for Vec<T>
[src]
impl<T> FromIterator<T> for Vec<T>
fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Vec<T>
[src]
fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Vec<T>
Creates a value from an iterator. Read more
impl<T> IntoIterator for Vec<T>
[src]
impl<T> IntoIterator for Vec<T>
type Item = T
The type of the elements being iterated over.
type IntoIter = IntoIter<T>
Which kind of iterator are we turning this into?
ⓘImportant traits for IntoIter<T>fn into_iter(self) -> IntoIter<T>
[src]
fn into_iter(self) -> IntoIter<T>
Vec<T>
を消費するイテレータを作成します。すなわちベクターの各値を (最初から最後まで) ムーブします。このメソッドを呼び出した後、ベクターは使用できません。
Examples
let v = vec!["a".to_string(), "b".to_string()]; for s in v.into_iter() { // sはString型であって、&Stringではない println!("{}", s); }
impl<'a, T> IntoIterator for &'a Vec<T>
[src]
impl<'a, T> IntoIterator for &'a Vec<T>
type Item = &'a T
The type of the elements being iterated over.
type IntoIter = Iter<'a, T>
Which kind of iterator are we turning this into?
ⓘImportant traits for Iter<'a, T>fn into_iter(self) -> Iter<'a, T>
[src]
fn into_iter(self) -> Iter<'a, T>
Creates an iterator from a value. Read more
impl<'a, T> IntoIterator for &'a mut Vec<T>
[src]
impl<'a, T> IntoIterator for &'a mut Vec<T>
type Item = &'a mut T
The type of the elements being iterated over.
type IntoIter = IterMut<'a, T>
Which kind of iterator are we turning this into?
ⓘImportant traits for IterMut<'a, T>fn into_iter(self) -> IterMut<'a, T>
[src]
fn into_iter(self) -> IterMut<'a, T>
Creates an iterator from a value. Read more
impl<T> Extend<T> for Vec<T>
[src]
impl<T> Extend<T> for Vec<T>
fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)
[src]
fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)
Extends a collection with the contents of an iterator. Read more
impl<'a, T: 'a + Copy> Extend<&'a T> for Vec<T>
1.2.0[src]
impl<'a, T: 'a + Copy> Extend<&'a T> for Vec<T>
Vecに要素をプッシュする前に参照からコピーするExtendの実装です。
この実装はスライスイテレータに特化していて、一度に要素全体を追加するためにcopy_from_slice
を使います。
fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)
[src]
fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)
Extends a collection with the contents of an iterator. Read more
impl<'a, 'b, A: Sized, B> PartialEq<Vec<B>> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<Vec<B>> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &Vec<B>) -> bool
[src]
fn eq(&self, other: &Vec<B>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Vec<B>) -> bool
[src]
fn ne(&self, other: &Vec<B>) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B]) -> bool
[src]
fn eq(&self, other: &&'b [B]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B]) -> bool
[src]
fn ne(&self, other: &&'b [B]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b mut [B]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b mut [B]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b mut [B]) -> bool
[src]
fn eq(&self, other: &&'b mut [B]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b mut [B]) -> bool
[src]
fn ne(&self, other: &&'b mut [B]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Clone, B> PartialEq<Vec<B>> for Cow<'a, [A]> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Clone, B> PartialEq<Vec<B>> for Cow<'a, [A]> where
A: PartialEq<B>,
fn eq(&self, other: &Vec<B>) -> bool
[src]
fn eq(&self, other: &Vec<B>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Vec<B>) -> bool
[src]
fn ne(&self, other: &Vec<B>) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 0]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 0]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 0]) -> bool
[src]
fn eq(&self, other: &[B; 0]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 0]) -> bool
[src]
fn ne(&self, other: &[B; 0]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 0]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 0]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 0]) -> bool
[src]
fn eq(&self, other: &&'b [B; 0]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 0]) -> bool
[src]
fn ne(&self, other: &&'b [B; 0]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 1]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 1]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 1]) -> bool
[src]
fn eq(&self, other: &[B; 1]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 1]) -> bool
[src]
fn ne(&self, other: &[B; 1]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 1]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 1]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 1]) -> bool
[src]
fn eq(&self, other: &&'b [B; 1]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 1]) -> bool
[src]
fn ne(&self, other: &&'b [B; 1]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 2]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 2]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 2]) -> bool
[src]
fn eq(&self, other: &[B; 2]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 2]) -> bool
[src]
fn ne(&self, other: &[B; 2]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 2]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 2]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 2]) -> bool
[src]
fn eq(&self, other: &&'b [B; 2]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 2]) -> bool
[src]
fn ne(&self, other: &&'b [B; 2]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 3]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 3]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 3]) -> bool
[src]
fn eq(&self, other: &[B; 3]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 3]) -> bool
[src]
fn ne(&self, other: &[B; 3]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 3]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 3]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 3]) -> bool
[src]
fn eq(&self, other: &&'b [B; 3]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 3]) -> bool
[src]
fn ne(&self, other: &&'b [B; 3]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 4]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 4]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 4]) -> bool
[src]
fn eq(&self, other: &[B; 4]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 4]) -> bool
[src]
fn ne(&self, other: &[B; 4]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 4]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 4]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 4]) -> bool
[src]
fn eq(&self, other: &&'b [B; 4]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 4]) -> bool
[src]
fn ne(&self, other: &&'b [B; 4]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 5]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 5]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 5]) -> bool
[src]
fn eq(&self, other: &[B; 5]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 5]) -> bool
[src]
fn ne(&self, other: &[B; 5]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 5]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 5]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 5]) -> bool
[src]
fn eq(&self, other: &&'b [B; 5]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 5]) -> bool
[src]
fn ne(&self, other: &&'b [B; 5]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 6]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 6]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 6]) -> bool
[src]
fn eq(&self, other: &[B; 6]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 6]) -> bool
[src]
fn ne(&self, other: &[B; 6]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 6]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 6]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 6]) -> bool
[src]
fn eq(&self, other: &&'b [B; 6]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 6]) -> bool
[src]
fn ne(&self, other: &&'b [B; 6]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 7]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 7]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 7]) -> bool
[src]
fn eq(&self, other: &[B; 7]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 7]) -> bool
[src]
fn ne(&self, other: &[B; 7]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 7]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 7]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 7]) -> bool
[src]
fn eq(&self, other: &&'b [B; 7]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 7]) -> bool
[src]
fn ne(&self, other: &&'b [B; 7]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 8]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 8]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 8]) -> bool
[src]
fn eq(&self, other: &[B; 8]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 8]) -> bool
[src]
fn ne(&self, other: &[B; 8]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 8]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 8]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 8]) -> bool
[src]
fn eq(&self, other: &&'b [B; 8]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 8]) -> bool
[src]
fn ne(&self, other: &&'b [B; 8]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 9]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 9]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 9]) -> bool
[src]
fn eq(&self, other: &[B; 9]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 9]) -> bool
[src]
fn ne(&self, other: &[B; 9]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 9]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 9]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 9]) -> bool
[src]
fn eq(&self, other: &&'b [B; 9]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 9]) -> bool
[src]
fn ne(&self, other: &&'b [B; 9]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 10]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 10]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 10]) -> bool
[src]
fn eq(&self, other: &[B; 10]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 10]) -> bool
[src]
fn ne(&self, other: &[B; 10]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 10]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 10]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 10]) -> bool
[src]
fn eq(&self, other: &&'b [B; 10]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 10]) -> bool
[src]
fn ne(&self, other: &&'b [B; 10]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 11]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 11]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 11]) -> bool
[src]
fn eq(&self, other: &[B; 11]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 11]) -> bool
[src]
fn ne(&self, other: &[B; 11]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 11]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 11]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 11]) -> bool
[src]
fn eq(&self, other: &&'b [B; 11]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 11]) -> bool
[src]
fn ne(&self, other: &&'b [B; 11]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 12]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 12]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 12]) -> bool
[src]
fn eq(&self, other: &[B; 12]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 12]) -> bool
[src]
fn ne(&self, other: &[B; 12]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 12]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 12]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 12]) -> bool
[src]
fn eq(&self, other: &&'b [B; 12]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 12]) -> bool
[src]
fn ne(&self, other: &&'b [B; 12]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 13]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 13]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 13]) -> bool
[src]
fn eq(&self, other: &[B; 13]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 13]) -> bool
[src]
fn ne(&self, other: &[B; 13]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 13]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 13]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 13]) -> bool
[src]
fn eq(&self, other: &&'b [B; 13]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 13]) -> bool
[src]
fn ne(&self, other: &&'b [B; 13]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 14]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 14]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 14]) -> bool
[src]
fn eq(&self, other: &[B; 14]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 14]) -> bool
[src]
fn ne(&self, other: &[B; 14]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 14]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 14]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 14]) -> bool
[src]
fn eq(&self, other: &&'b [B; 14]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 14]) -> bool
[src]
fn ne(&self, other: &&'b [B; 14]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 15]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 15]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 15]) -> bool
[src]
fn eq(&self, other: &[B; 15]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 15]) -> bool
[src]
fn ne(&self, other: &[B; 15]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 15]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 15]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 15]) -> bool
[src]
fn eq(&self, other: &&'b [B; 15]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 15]) -> bool
[src]
fn ne(&self, other: &&'b [B; 15]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 16]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 16]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 16]) -> bool
[src]
fn eq(&self, other: &[B; 16]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 16]) -> bool
[src]
fn ne(&self, other: &[B; 16]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 16]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 16]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 16]) -> bool
[src]
fn eq(&self, other: &&'b [B; 16]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 16]) -> bool
[src]
fn ne(&self, other: &&'b [B; 16]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 17]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 17]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 17]) -> bool
[src]
fn eq(&self, other: &[B; 17]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 17]) -> bool
[src]
fn ne(&self, other: &[B; 17]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 17]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 17]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 17]) -> bool
[src]
fn eq(&self, other: &&'b [B; 17]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 17]) -> bool
[src]
fn ne(&self, other: &&'b [B; 17]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 18]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 18]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 18]) -> bool
[src]
fn eq(&self, other: &[B; 18]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 18]) -> bool
[src]
fn ne(&self, other: &[B; 18]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 18]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 18]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 18]) -> bool
[src]
fn eq(&self, other: &&'b [B; 18]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 18]) -> bool
[src]
fn ne(&self, other: &&'b [B; 18]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 19]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 19]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 19]) -> bool
[src]
fn eq(&self, other: &[B; 19]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 19]) -> bool
[src]
fn ne(&self, other: &[B; 19]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 19]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 19]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 19]) -> bool
[src]
fn eq(&self, other: &&'b [B; 19]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 19]) -> bool
[src]
fn ne(&self, other: &&'b [B; 19]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 20]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 20]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 20]) -> bool
[src]
fn eq(&self, other: &[B; 20]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 20]) -> bool
[src]
fn ne(&self, other: &[B; 20]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 20]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 20]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 20]) -> bool
[src]
fn eq(&self, other: &&'b [B; 20]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 20]) -> bool
[src]
fn ne(&self, other: &&'b [B; 20]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 21]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 21]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 21]) -> bool
[src]
fn eq(&self, other: &[B; 21]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 21]) -> bool
[src]
fn ne(&self, other: &[B; 21]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 21]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 21]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 21]) -> bool
[src]
fn eq(&self, other: &&'b [B; 21]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 21]) -> bool
[src]
fn ne(&self, other: &&'b [B; 21]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 22]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 22]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 22]) -> bool
[src]
fn eq(&self, other: &[B; 22]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 22]) -> bool
[src]
fn ne(&self, other: &[B; 22]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 22]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 22]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 22]) -> bool
[src]
fn eq(&self, other: &&'b [B; 22]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 22]) -> bool
[src]
fn ne(&self, other: &&'b [B; 22]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 23]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 23]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 23]) -> bool
[src]
fn eq(&self, other: &[B; 23]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 23]) -> bool
[src]
fn ne(&self, other: &[B; 23]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 23]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 23]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 23]) -> bool
[src]
fn eq(&self, other: &&'b [B; 23]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 23]) -> bool
[src]
fn ne(&self, other: &&'b [B; 23]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 24]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 24]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 24]) -> bool
[src]
fn eq(&self, other: &[B; 24]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 24]) -> bool
[src]
fn ne(&self, other: &[B; 24]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 24]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 24]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 24]) -> bool
[src]
fn eq(&self, other: &&'b [B; 24]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 24]) -> bool
[src]
fn ne(&self, other: &&'b [B; 24]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 25]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 25]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 25]) -> bool
[src]
fn eq(&self, other: &[B; 25]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 25]) -> bool
[src]
fn ne(&self, other: &[B; 25]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 25]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 25]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 25]) -> bool
[src]
fn eq(&self, other: &&'b [B; 25]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 25]) -> bool
[src]
fn ne(&self, other: &&'b [B; 25]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 26]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 26]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 26]) -> bool
[src]
fn eq(&self, other: &[B; 26]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 26]) -> bool
[src]
fn ne(&self, other: &[B; 26]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 26]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 26]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 26]) -> bool
[src]
fn eq(&self, other: &&'b [B; 26]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 26]) -> bool
[src]
fn ne(&self, other: &&'b [B; 26]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 27]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 27]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 27]) -> bool
[src]
fn eq(&self, other: &[B; 27]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 27]) -> bool
[src]
fn ne(&self, other: &[B; 27]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 27]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 27]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 27]) -> bool
[src]
fn eq(&self, other: &&'b [B; 27]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 27]) -> bool
[src]
fn ne(&self, other: &&'b [B; 27]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 28]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 28]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 28]) -> bool
[src]
fn eq(&self, other: &[B; 28]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 28]) -> bool
[src]
fn ne(&self, other: &[B; 28]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 28]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 28]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 28]) -> bool
[src]
fn eq(&self, other: &&'b [B; 28]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 28]) -> bool
[src]
fn ne(&self, other: &&'b [B; 28]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 29]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 29]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 29]) -> bool
[src]
fn eq(&self, other: &[B; 29]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 29]) -> bool
[src]
fn ne(&self, other: &[B; 29]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 29]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 29]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 29]) -> bool
[src]
fn eq(&self, other: &&'b [B; 29]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 29]) -> bool
[src]
fn ne(&self, other: &&'b [B; 29]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 30]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 30]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 30]) -> bool
[src]
fn eq(&self, other: &[B; 30]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 30]) -> bool
[src]
fn ne(&self, other: &[B; 30]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 30]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 30]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 30]) -> bool
[src]
fn eq(&self, other: &&'b [B; 30]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 30]) -> bool
[src]
fn ne(&self, other: &&'b [B; 30]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 31]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 31]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 31]) -> bool
[src]
fn eq(&self, other: &[B; 31]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 31]) -> bool
[src]
fn ne(&self, other: &[B; 31]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 31]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 31]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 31]) -> bool
[src]
fn eq(&self, other: &&'b [B; 31]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 31]) -> bool
[src]
fn ne(&self, other: &&'b [B; 31]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<[B; 32]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<[B; 32]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &[B; 32]) -> bool
[src]
fn eq(&self, other: &[B; 32]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &[B; 32]) -> bool
[src]
fn ne(&self, other: &[B; 32]) -> bool
This method tests for !=
.
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 32]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'a, 'b, A: Sized, B> PartialEq<&'b [B; 32]> for Vec<A> where
A: PartialEq<B>,
fn eq(&self, other: &&'b [B; 32]) -> bool
[src]
fn eq(&self, other: &&'b [B; 32]) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &&'b [B; 32]) -> bool
[src]
fn ne(&self, other: &&'b [B; 32]) -> bool
This method tests for !=
.
impl<T: PartialOrd> PartialOrd for Vec<T>
[src]
impl<T: PartialOrd> PartialOrd for Vec<T>
辞書式にベクターの比較を実装します。
fn partial_cmp(&self, other: &Vec<T>) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &Vec<T>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]
fn lt(&self, other: &Rhs) -> bool
[src]
#[must_use]
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]
fn le(&self, other: &Rhs) -> bool
[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
#[must_use]
fn gt(&self, other: &Rhs) -> bool
[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
#[must_use]
fn ge(&self, other: &Rhs) -> bool
[src]
#[must_use]
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl<T: Eq> Eq for Vec<T>
[src]
impl<T: Eq> Eq for Vec<T>
impl<T: Ord> Ord for Vec<T>
[src]
impl<T: Ord> Ord for Vec<T>
辞書式順序でベクターの順序を実装します。
fn cmp(&self, other: &Vec<T>) -> Ordering
[src]
fn cmp(&self, other: &Vec<T>) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
impl<T> Drop for Vec<T>
[src]
impl<T> Drop for Vec<T>
impl<T> Default for Vec<T>
[src]
impl<T> Default for Vec<T>
impl<T: Debug> Debug for Vec<T>
[src]
impl<T: Debug> Debug for Vec<T>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T> AsRef<Vec<T>> for Vec<T>
[src]
impl<T> AsRef<Vec<T>> for Vec<T>
impl<T> AsMut<Vec<T>> for Vec<T>
1.5.0[src]
impl<T> AsMut<Vec<T>> for Vec<T>
impl<T> AsRef<[T]> for Vec<T>
[src]
impl<T> AsRef<[T]> for Vec<T>
impl<T> AsMut<[T]> for Vec<T>
1.5.0[src]
impl<T> AsMut<[T]> for Vec<T>
impl<'a, T: Clone> From<&'a [T]> for Vec<T>
[src]
impl<'a, T: Clone> From<&'a [T]> for Vec<T>
impl<'a, T: Clone> From<&'a mut [T]> for Vec<T>
1.19.0[src]
impl<'a, T: Clone> From<&'a mut [T]> for Vec<T>
impl<'a, T> From<Cow<'a, [T]>> for Vec<T> where
[T]: ToOwned<Owned = Vec<T>>,
1.14.0[src]
impl<'a, T> From<Cow<'a, [T]>> for Vec<T> where
[T]: ToOwned<Owned = Vec<T>>,
impl<T> From<Box<[T]>> for Vec<T>
1.18.0[src]
impl<T> From<Box<[T]>> for Vec<T>
impl<T> From<Vec<T>> for Box<[T]>
1.20.0[src]
impl<T> From<Vec<T>> for Box<[T]>
impl<'a> From<&'a str> for Vec<u8>
[src]
impl<'a> From<&'a str> for Vec<u8>
impl<'a, T: Clone> From<Vec<T>> for Cow<'a, [T]>
1.8.0[src]
impl<'a, T: Clone> From<Vec<T>> for Cow<'a, [T]>
impl<'a, T: Clone> From<&'a Vec<T>> for Cow<'a, [T]>
1.28.0[src]
impl<'a, T: Clone> From<&'a Vec<T>> for Cow<'a, [T]>
impl<'a, 'b, A: Sized, B> PartialEq<Vec<B>> for VecDeque<A> where
A: PartialEq<B>,
1.17.0[src]
impl<'a, 'b, A: Sized, B> PartialEq<Vec<B>> for VecDeque<A> where
A: PartialEq<B>,
fn eq(&self, other: &Vec<B>) -> bool
[src]
fn eq(&self, other: &Vec<B>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
This method tests for !=
.
impl<T> From<Vec<T>> for VecDeque<T>
1.10.0[src]
impl<T> From<Vec<T>> for VecDeque<T>
impl<T> From<VecDeque<T>> for Vec<T>
1.10.0[src]
impl<T> From<VecDeque<T>> for Vec<T>