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

getIndexes(_:maxCount:inIndexRange:)

The index set fills an index buffer with the indexes contained both in the index set and in an index range, returning the number of indexes copied. インデックス集合は、あるインデックスバッファを、インデックス集合の中およびあるインデックス範囲の中の両方に含まれるインデックスで満たして、コピーされたインデックスの数を返します。

Declaration 宣言

func getIndexes(_ indexBuffer: UnsafeMutablePointer<Int>, 
       maxCount bufferSize: Int, 
   inIndexRange range: NSRangePointer?) -> Int

Parameters パラメータ

indexBuffer

Index buffer to fill. 満たすことになるインデックスバッファ。

bufferSize

Maximum size of indexBuffer. indexBufferの最大限の大きさ。

indexRange

Index range to compare with indexes in the index set; nil represents all the indexes in the index set. Indexes in the index range and in the index set are copied to indexBuffer. On output, the range of indexes not copied to indexBuffer. インデックス集合の中のインデックスそれらと比較することになるインデックス範囲;nilはインデックス集合の中の全てのインデックスを表します。インデックス範囲の中とインデックス集合の中のインデックスそれらは、indexBufferにコピーされます。出力において、インデックスの範囲はindexBufferにコピーされません。

Return Value 戻り値

Number of indexes placed in indexBuffer. indexBufferの中に置かれたインデックスの数。

Discussion 議論

You are responsible for allocating the memory required for indexBuffer and for releasing it later. あなたは、indexBufferに必要とされるメモリをアロケートすることに対してそしてそれを後で解放することに対して責任があります。

Suppose you have an index set with contiguous indexes from 1 to 100. If you use this method to request a range of (1, 100)—which represents the set of indexes 1 through 100—and specify a buffer size of 20, this method returns 20 indexes—1 through 20—in indexBuffer and sets indexRange to (21, 80)—which represents the indexes 21 through 100. あなたがあるインデックス集合を1から100までの隣接インデックスで持つと仮定してください。あなたがこのメソッドを使って(1, 100)の範囲を要請する — それは1から100までのインデックスからなる集合を表します — そして20の大きさのバッファを指定するならは、このメソッドは20個のインデックス — 1から20 — をindexBufferにおいて返します、そしてindexRange(21, 80)に設定します — それは21から100までのインデックスを表します。

Use this method to retrieve entries quickly and efficiently from an index set. You can call this method repeatedly to retrieve blocks of index values and then process them. When doing so, use the return value and indexRange to determine when you have finished processing the desired indexes. When the return value is less than bufferSize, you have reached the end of the range. このメソッドを使って登録項目を素早く効率的にインデックス集合から取ってきてください。あなたは、このメソッドを繰り返し呼び出して、インデックス値いくつかの塊を取ってきて、それからそれらを処理できます。そうする場合、戻り値とindexRangeを使って、あなたが望むインデックスそれらの処理をやり終える時を判定してください。戻り値がbufferSizeより小さい場合は、あなたは範囲の終わりに到達してしまっています。

See Also 参照

Getting Indexes インデックスを取得する