Enum member std.range.primitives.hasSlicing
Returns true if R offers a slicing operator with integral boundaries
that returns a forward range type.
						
				enum hasSlicing(R)
				 = isForwardRange!R && !(isAutodecodableString!R && !isAggregateType!R) && is(typeof((R r)
{
return r[1..1]
				For finite ranges, the result of opSlice must be of the same type as the
original range type. If the range defines opDollar, then it must support
subtraction.
For infinite ranges, when not using opDollar, the result of opSlice
may be a forward range of any type. However, when using opDollar, the result
of opSlice must be of the same type as the original range type.
The following expression must be true for hasSlicing to be true:
isForwardRange!R
&& !(isAutodecodableString!R && !isAggregateType!R)
&& is(typeof((R r) { return r[1 .. 1]Example
import stdAuthors
Andrei Alexandrescu, David Simcha, and Jonathan M Davis. Credit for some of the ideas in building this module goes to Leonardo Maffi.