typealias IndexingIterator.Element
typealias IndexingIterator.Iterator
Availability
Technology
@frozen struct IndexingIterator<Elements> where Elements : Collection
The Indexing
type is the default iterator for any collection that doesn’t declare its own. It acts as an iterator by using a collection’s indices to step over each value in the collection. Most collections in the standard library use Indexing
as their iterator.
Indexing
型は、それ独自のものを宣言しないあらゆるコレクションに対する省略時のイテレータです。それは、コレクションのインデックスを使ってコレクションの中の各値のすべてを渡っていくあるイテレータとしての役割を果たします。標準ライブラリの中のほとんどのコレクションは、Indexing
をそれらのイテレータとして使います。
By default, any custom collection type you create will inherit a make
method that returns an Indexing
instance, making it unnecessary to declare your own. When creating a custom collection type, add the minimal requirements of the Collection
protocol: starting and ending indices and a subscript for accessing elements. With those elements defined, the inherited make
method satisfies the requirements of the Sequence
protocol.
初期状態で、あなたが作成するあらゆるあつらえのコレクション型は、Indexing
インスタンスを返すmake
メソッドを継承していて、それをあなた自身で宣言する必要がないようにしています。あつらえのコレクション型を作成する場合、Collection
プロトコルの最小限の要件:始まりと終わりのインデックスおよび要素にアクセスするための添え字、を加えてください。定義されるそれらの要素とともに、継承されるmake
メソッドがSequence
プロトコルの要件を満たします。
Here’s an example of a type that declares the minimal requirements for a collection. The Collection
structure is a fixed-size collection that always holds two elements of a specific type.
ここにある型の例があります、それはあるコレクションのための最小限の要件を宣言します。このCollection
構造体は固定サイズのコレクションです、それは常にある決まった型の2つの要素を保持します。
Because Collection
doesn’t define its own make
method or Iterator
associated type, it uses the default iterator type, Indexing
. This example shows how a Collection
instance can be created holding the values of a point, and then iterated over using a for
-in
loop.
Collection
は独自のmake
メソッドまたはIterator
関連型を定義しないことから、それは省略時のイテレータ型、Indexing
を使います。この例は、どのようにCollection
インスタンスがある地点の値を保持して作成されるか、そしてそれからfor
-in
ループを使って全体にわたって繰り返されるかを示します。
typealias IndexingIterator.Element
typealias IndexingIterator.Iterator
var lazy: LazySequence<IndexingIterator<Elements>>
map
and filter
, are implemented lazily.
このシーケンスと同じ要素を含んでいるシーケンス、しかしそれの上で何らかの演算、例えばmap
やfilter
が遅延に実装されます。
var underestimatedCount : Int
func allSatisfy ((Elements.Element) -> Bool) -> Bool
func compactMap <ElementOfResult>((Elements.Element) -> ElementOfResult?) -> [ElementOfResult]
nil
results of calling the given transformation with each element of this sequence.
指定された変換をこのシーケンスの各要素で呼び出す結果で非-nil
のものを含んでいる配列を返します。
func contains(Elements.Element) -> Bool
Elements
.
Element
conforms to Equatable
.
Elements
.
Element
がEquatable
に準拠する時に利用可能です。
func contains(where: (Elements.Element) -> Bool) -> Bool
func drop(while: (Elements.Element) -> Bool) -> DropWhileSequence<IndexingIterator<Elements>>
func dropFirst (Int) -> DropFirstSequence<IndexingIterator<Elements>>
func dropLast (Int) -> [Elements.Element]
func elementsEqual <OtherSequence>(OtherSequence) -> Bool
Elements
.
Element
conforms to Equatable
.
Elements
.
Element
がEquatable
に準拠する時に利用可能です。
func elementsEqual <OtherSequence>(OtherSequence, by: (Elements.Element, OtherSequence.Element) -> Bool) -> Bool
func enumerated() -> EnumeratedSequence<IndexingIterator<Elements>>
func filter((Elements.Element) -> Bool) -> [Elements.Element]
func first(where: (Elements.Element) -> Bool) -> Elements.Element?
func flatMap <SegmentOfResult>((Elements.Element) -> SegmentOfResult) -> [SegmentOfResult.Element]
func flatMap <ElementOfResult>((Elements.Element) -> ElementOfResult?) -> [ElementOfResult]
nil
results of calling the given transformation with each element of this sequence.
指定された変換をこのシーケンスの各要素で呼び出す結果で非-nil
のものを含んでいる配列を返します。
func forEach ((Elements.Element) -> Void)
for
-in
loop.
指定されたクロージャをそのシーケンスの各要素上でfor
-in
ループと同じ順番で呼び出します。
func joined() -> FlattenSequence<IndexingIterator<Elements>>
Elements
.
Element
conforms to Sequence
.
Elements
.
Element
がSequence
に準拠する時に利用可能です。
func joined(separator: String) -> String
Elements
.
Element
conforms to StringProtocol
.
Elements
.
Element
がStringProtocol
に準拠する時に利用可能です。
func joined<Separator>(separator: Separator) -> JoinedSequence<IndexingIterator<Elements>>
Elements
.
Element
conforms to Sequence
.
Elements
.
Element
がSequence
に準拠する時に利用可能です。
func lexicographicallyPrecedes <OtherSequence>(OtherSequence) -> Bool
<
) to compare elements.
そのシーケンスが別のシーケンスの前に来るかどうかを、ある語彙筆記的順序(字典)順序において、より小さい演算子(<
)を使って要素を比較して、指し示すブール値を返します。
Elements
.
Element
conforms to Comparable
.
Elements
.
Element
がComparable
に準拠する時に利用可能です。
func lexicographicallyPrecedes <OtherSequence>(OtherSequence, by: (Elements.Element, Elements.Element) -> Bool) -> Bool
func makeIterator () -> IndexingIterator<Elements>
func map<T>((Elements.Element) -> T) -> [T]
func max() -> Elements.Element?
Elements
.
Element
conforms to Comparable
.
Elements
.
Element
がComparable
に準拠する時に利用可能です。
func max(by: (Elements.Element, Elements.Element) -> Bool) -> Elements.Element?
func min() -> Elements.Element?
Elements
.
Element
conforms to Comparable
.
Elements
.
Element
がComparable
に準拠する時に利用可能です。
func min(by: (Elements.Element, Elements.Element) -> Bool) -> Elements.Element?
func next() -> Elements.Element?
nil
if no next element exists.
次の要素へ進んでそれを返します、または次の要素が存在しないならばnil
を返します。
func prefix(Int) -> PrefixSequence<IndexingIterator<Elements>>
func prefix(while: (Elements.Element) -> Bool) -> [Elements.Element]
func reduce<Result>(Result, (Result, Elements.Element) -> Result) -> Result
func reduce<Result>(into: Result, (inout Result, Elements.Element) -> ()) -> Result
func reversed() -> [Elements.Element]
func shuffled() -> [Elements.Element]
func shuffled<T>(using: inout T) -> [Elements.Element]
func sorted() -> [Elements.Element]
Elements
.
Element
conforms to Comparable
.
Elements
.
Element
がComparable
に準拠する時に利用可能です。
func sorted(by: (Elements.Element, Elements.Element) -> Bool) -> [Elements.Element]
func split(maxSplits : Int, omittingEmptySubsequences : Bool, whereSeparator : (Elements.Element) -> Bool) -> [ArraySlice<Elements.Element>]
func split(separator: Elements.Element, maxSplits : Int, omittingEmptySubsequences : Bool) -> [ArraySlice<Elements.Element>]
Elements
.
Element
conforms to Equatable
.
Elements
.
Element
がEquatable
に準拠する時に利用可能です。
func starts<PossiblePrefix>( with: PossiblePrefix) -> Bool
Elements
.
Element
conforms to Equatable
.
Elements
.
Element
がEquatable
に準拠する時に利用可能です。
func starts<PossiblePrefix>( with: PossiblePrefix, by: (Elements.Element, PossiblePrefix.Element) -> Bool) -> Bool
func suffix(Int) -> [Elements.Element]
func withContiguousStorageIfAvailable <R>((UnsafeBufferPointer<Elements.Element>) -> R) -> R?
struct IteratorSequence
Base
.
型Base
のイテレータに基づいて構築されるシーケンス。
typealias EnumeratedIterator
Deprecated
非推奨
struct StrideThroughIterator
StrideThrough
instance.
StrideThrough
インスタンスのためのイテレータ。
struct StrideToIterator
StrideTo
instance.
StrideTo
インスタンスのためのイテレータ。