take: Remove moveFront, moveBack, moveAt
This commit is contained in:
parent
cd9960db2a
commit
37b0afe290
@ -20,9 +20,6 @@ import tanya.math;
|
|||||||
public import tanya.range.array;
|
public import tanya.range.array;
|
||||||
public import tanya.range.primitive;
|
public import tanya.range.primitive;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
struct Take(R)
|
struct Take(R)
|
||||||
if (isInputRange!R)
|
if (isInputRange!R)
|
||||||
{
|
{
|
||||||
@ -82,18 +79,6 @@ if (isInputRange!R)
|
|||||||
return this.length_;
|
return this.length_;
|
||||||
}
|
}
|
||||||
|
|
||||||
static if (hasMobileElements!R)
|
|
||||||
{
|
|
||||||
auto moveFront()
|
|
||||||
in
|
|
||||||
{
|
|
||||||
assert(!empty);
|
|
||||||
}
|
|
||||||
do
|
|
||||||
{
|
|
||||||
return this.source.moveFront();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
static if (hasAssignableElements!R)
|
static if (hasAssignableElements!R)
|
||||||
{
|
{
|
||||||
@property void front(ref ElementType!R value)
|
@property void front(ref ElementType!R value)
|
||||||
@ -156,28 +141,6 @@ if (isInputRange!R)
|
|||||||
return this.source[i];
|
return this.source[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
static if (hasMobileElements!R)
|
|
||||||
{
|
|
||||||
auto moveBack()
|
|
||||||
in
|
|
||||||
{
|
|
||||||
assert(!empty);
|
|
||||||
}
|
|
||||||
do
|
|
||||||
{
|
|
||||||
return this.source.moveAt(length - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto moveAt(size_t i)
|
|
||||||
in
|
|
||||||
{
|
|
||||||
assert(i < length);
|
|
||||||
}
|
|
||||||
do
|
|
||||||
{
|
|
||||||
return this.source.moveAt(i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
static if (hasAssignableElements!R)
|
static if (hasAssignableElements!R)
|
||||||
{
|
{
|
||||||
@property void back(ref ElementType!R value)
|
@property void back(ref ElementType!R value)
|
||||||
@ -237,7 +200,15 @@ if (isInputRange!R)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ditto
|
* Takes $(D_PARAM n) elements from $(D_PARAM range).
|
||||||
|
*
|
||||||
|
* Params:
|
||||||
|
* R = Type of the original range.
|
||||||
|
* range = The range to take elements from.
|
||||||
|
* n = The number of elements to take.
|
||||||
|
*
|
||||||
|
* Returns: A range containing maximum $(D_PARAM n) first elements of
|
||||||
|
* $(D_PARAM range).
|
||||||
*/
|
*/
|
||||||
Take!R take(R)(R range, size_t n)
|
Take!R take(R)(R range, size_t n)
|
||||||
if (isInputRange!R)
|
if (isInputRange!R)
|
||||||
@ -268,7 +239,7 @@ if (isInputRange!R)
|
|||||||
{
|
{
|
||||||
++this.front_;
|
++this.front_;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t opIndex(size_t i) @nogc nothrow pure @safe
|
size_t opIndex(size_t i) @nogc nothrow pure @safe
|
||||||
{
|
{
|
||||||
return this.front_ + i;
|
return this.front_ + i;
|
||||||
|
Loading…
Reference in New Issue
Block a user