carbon.range

このモジュールは、標準ライブラリのstd.rangeを強化します。

Members

Enums

isRangeOfRanges
eponymoustemplate isRangeOfRanges(R, alias I = isInputRange)

true if both isInputRange!R and isInputRange!R are true.

isSimpleRange
eponymoustemplate isSimpleRange(R, alias I = isInputRange)

true if isInputRange!R is true and isInputRange!R is false.

Functions

concat
R concat(R range)

concats elements

concat
auto concat(R range)

concats elements

flatten
auto flatten(R r)
takeWhile
auto takeWhile(R range, T args)

Haskell等の言語でのtakeWhileの実装です。 この実装では、predは任意個数の引数を取ることができます。 たとえば、2引数関数の場合、第一引数にはレンジの先頭の値が、第二引数にはレンジの次の値が格納されます。

Templates

SegmentType
template SegmentType(size_t N, R)
segment
template segment(size_t N : 1, Range)
template segment(size_t N, Range)

あるレンジのN個の連続する要素のリストを返します。

Meta