文書   >   Swift   >   Swift 標準ライブラリ >     Collections   >   Supporting Types   >   Slice   >   formIndex(_:offsetBy:limitedBy:)
インスタンスメソッド
formIndex(_:offsetBy:limitedBy:)
与えられたインデックスを指定された距離だけオフセットするか、または与えられた制限インデックスと等しくなるようにオフセットします。
宣言
func formIndex(_ i: inout Base.Index, offsetBy distance: Int, limitedBy limit: Base.Index) -> Bool
パラメータ
i | コレクションの有効なインデックス。 |
distance | offset i までの距離。distance は、コレクションが BidirectionalCollection プロトコルに準拠していない場合、負であってはなりません。 |
limit | 限界として使用するコレクションの有効なインデックス。distance > 0 の場合、i 未満の限界は無効です。同様に、distance < 0 の場合、i より大きい限界は無効です。 |
戻り値
i が limit を越えずに正確に distance のステップによってオフセットされている場合は true 、それ以外の場合は false です。戻り値が false の場合、i の値は limit に等しくなります。
議論
distance として渡された値は、limit として渡されたインデックスは、その境界を超えてオフセットすることを防がない限り、コレクションの範囲を超えて offset i してはなりません。
複雑さ:コレクションが RandomAccessCollection に準拠している場合は O(1)。そうでなければ、O(k) 。ここで k は distance の絶対値です。