std.range.Chunks/chunks  - multiple declarations
				Function chunks
This range iterates over fixed-sized chunks of size chunkSize of a
source range. Source must be an input range.
chunkSize must be greater than zero.
						
					
				If !isInfinite!Source and source is not evenly
divisible by chunkSize, the back element of this range will contain
fewer than chunkSize elements.
If Source is a forward range, the resulting range will be forward ranges as
well. Otherwise, the resulting chunks will be input ranges consuming the same
input
iterating over front will shrink the chunk such that subsequent
invocations of front will no longer return the full chunk, and calling
popFront on the outer range will invalidate any lingering references to
previous values of front.
Parameters
| Name | Description | 
|---|---|
| source | Range from which the chunks will be selected | 
| chunkSize | Chunk size | 
See Also
Returns
Range of chunks.
Example
import stdExample
Non-forward input ranges are supported, but with limited semantics.
import stdStruct Chunks
This range iterates over fixed-sized chunks of size chunkSize of a
source range. Source must be an input range.
chunkSize must be greater than zero.
						
				struct Chunks(Source)
				
				  
				
				if (isInputRange!Source);
						
					
				If !isInfinite!Source and source is not evenly
divisible by chunkSize, the back element of this range will contain
fewer than chunkSize elements.
If Source is a forward range, the resulting range will be forward ranges as
well. Otherwise, the resulting chunks will be input ranges consuming the same
Constructors
| Name | Description | 
|---|---|
| this(source, chunkSize) | Standard constructor | 
Properties
| Name | Type | Description | 
|---|---|---|
| back[get] | auto | Bidirectional range primitives. Provided only if both hasSlicing!SourceandhasLength!Sourcearetrue. | 
| empty[get] | bool | Input range primitives. Always present. | 
| front[get] | auto | Input range primitives. Always present. | 
| length[get] | size_t | Length. Only if hasLength!Sourceistrue | 
| save[get] | typeof(this) | Forward range primitives. Only present if Sourceis a forward range. | 
Methods
| Name | Description | 
|---|---|
| opIndex(index) | Indexing and slicing operations. Provided only if hasSlicing!Sourceistrue. | 
| opSlice(lower, upper) | Indexing and slicing operations. Provided only if hasSlicing!Sourceistrue. | 
| popBack() | Bidirectional range primitives. Provided only if both hasSlicing!SourceandhasLength!Sourcearetrue. | 
| popFront() | Input range primitives. Always present. | 
input
iterating over front will shrink the chunk such that subsequent
invocations of front will no longer return the full chunk, and calling
popFront on the outer range will invalidate any lingering references to
previous values of front.
Parameters
| Name | Description | 
|---|---|
| source | Range from which the chunks will be selected | 
| chunkSize | Chunk size | 
See Also
Returns
Range of chunks.
Example
import stdExample
Non-forward input ranges are supported, but with limited semantics.
import stdAuthors
Andrei Alexandrescu, David Simcha, Jonathan M Davis, and Jack Stouffer. Credit for some of the ideas in building this module goes to Leonardo Maffi.