Protocol

BidirectionalCollection

A collection that supports backward as well as forward traversal. 前方にだけでなく後方へ辿っていくこともサポートするコレクション。

Declaration 宣言

protocol BidirectionalCollection where Self.Indices : BidirectionalCollection, Self.SubSequence : BidirectionalCollection

Overview 概要

Bidirectional collections offer traversal backward from any valid index, not including a collection’s startIndex. Bidirectional collections can therefore offer additional operations, such as a last property that provides efficient access to the last element and a reversed() method that presents the elements in reverse order. In addition, bidirectional collections have more efficient implementations of some sequence and collection methods, such as suffix(_:). 二方向性のコレクションは、あらゆる有効な、しかしコレクションのstartIndexを含まないインデックスから後方へ辿っていくことを提案します。二方向性のコレクションは、従って追加の演算を提案します、例えば最後の要素への手際のよいアクセスを提供するlastプロパティ、そして要素を逆順で提示するreversed()メソッドなど。さらに加えて、二方向性のコレクションはいくらかのシーケンスおよびコレクションメソッドのもっと手際の良い実装を持ちます、例えばsuffix(_:)など。

Conforming to the BidirectionalCollection Protocol BidirectionalCollectionプロトコルへの準拠

To add BidirectionalProtocol conformance to your custom types, implement the index(before:) method in addition to the requirements of the Collection protocol. BidirectionalProtocol準拠をあなたのあつらえの型に加えるには、index(before:)メソッドを、Collectionプロトコルの要件に加えて実装してください。

Indices that are moved forward and backward in a bidirectional collection move by the same amount in each direction. That is, for any index i into a bidirectional collection c: 二方向性のコレクションにおいて前方および後方に移動されるインデックス値は、各方向で同じ量だけ移動します。すなわち、二方向性のコレクションcに対する何らかのインデックスiは:

  • If i >= c.startIndex && i < c.endIndex, c.index(before: c.index(after: i)) == i. i >= c.startIndex && i < c.endIndexならば、c.index(before: c.index(after: i)) == i

  • If i > c.startIndex && i <= c.endIndex c.index(after: c.index(before: i)) == i. i > c.startIndex && i <= c.endIndexならばc.index(after: c.index(before: i)) == i

Topics 話題

Associated Types さまざまな関連型

Instance Properties 様々なインスタンスプロパティ

Instance Methods インスタンスメソッド

Subscripts 添え字

Relationships 関係

Inherits From 継承元

Inherited By 継承される先

Conforming Types これらの型が準拠

See Also 参照

Collection Traversal コレクション横断