文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Range   >   formIndex(_:offsetBy:limitedBy:)
インスタンスメソッド
formIndex(_:offsetBy:limitedBy:)
与えられたインデックスを指定された距離だけオフセットするか、または与えられた制限インデックスと等しくなるようにオフセットします。
宣言
func formIndex(_ i: inout Bound, offsetBy distance: Int, limitedBy limit: Bound) -> Bool
パラメータ
i | コレクションの有効なインデックス。 |
distance | offset i までの距離。コレクションが BidirectionalCollection プロトコルに準拠していない場合、distance は負であってはなりません。 |
limit | 制限として使用すべきコレクションの有効なインデックス。distance > 0 の場合、i 未満の制限は効果がありません。同様に、distance < 0 の場合、i より大きい制限は効果がありません。 |
戻り値
i が limit を越えずに正確に distance のステップによってオフセットされている場合は true。それ以外の場合は false。戻り値が false の場合、i の値は limit に等しくなります。
議論
distance として渡される値は、インデックスが limit としてそれらの制限をオフセットするのを妨げるように渡されない限り、コレクションの境界を超えてオフセットしてはなりません。
複雑さ:コレクションが RandomAccessCollection に準拠している場合は O(1)。そうでなければ、O(k) 、ここで k は distance の絶対値です。
以下も見よ
インデックスの操作
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
昇順でコレクションをサブスクライブするのに有効なインデックス。
Index が Strideable に準拠し、Indices が Range<Self.Index> であり、および Index.Stride が Int の場合に使用可能です。
範囲をサブスクリプトするために有効なインデックス。昇順に並べられます。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func index(after: Range<Bound>.Index) -> Range<Bound>.Index
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func formIndex(after: inout Bound)
与えられたインデックスをその後継と置き換えます。
func index(before: Range<Bound>.Index) -> Range<Bound>.Index
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func formIndex(before: inout Bound)
与えられたインデックスをその先祖と置き換えます。
func index(Bound, offsetBy: Int, limitedBy: Bound) -> Bound?
与えられたインデックスから指定された距離にあるインデックスを、その距離が与えられた制限インデックスを超えていない限り返します。
func formIndex(inout Bound, offsetBy: Int)
与えられたインデックスを指定された距離だけオフセットします。
func index(Range<Bound>.Index, offsetBy: Int) -> Range<Bound>.Index
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func distance(from: Range<Bound>.Index, to: Range<Bound>.Index) -> Int
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
与えられたハッシャーにそれらを供給することによって、この値の必須コンポーネントをハッシュします。
Bound が Hashable に準拠する時使用可能です。