std.algorithm.iteration.splitter  - multiple declarations
				Function splitter
Lazily splits a range using an element or range as a separator. Separator ranges can be any narrow string type or sliceable range type.
						
				auto splitter(alias pred, Flag!("keepSeparators") keepSeparators = No
				  Range r,
				
				  Separator s
				
				)
				
				if (is(typeof(binaryFun!pred(r
				
				auto splitter(alias pred, Flag!("keepSeparators") keepSeparators = No
				  Range r,
				
				  Separator s
				
				)
				
				if (is(typeof(binaryFun!pred(r
				
				auto splitter(alias isTerminator, Range)
				(
				
				  Range r
				
				)
				
				if (isForwardRange!Range && is(typeof(unaryFun!isTerminator(r
				Two adjacent separators are considered to surround an empty element in
the split range. Use filter!(a => !a on the result to compress
empty elements.
The predicate is passed to binaryFun and accepts
any callable function that can be executed via pred(element, s).
Notes
If splitting a string on whitespace and token compression is desired,
    consider using splitter without specifying a separator.
    If no separator is passed, the 
    predicate isTerminator decides whether to accept an element of r.
Parameters
| Name | Description | 
|---|---|
| pred | The predicate for comparing each element with the separator,
        defaulting to "a == b". | 
| r | The input range to be
        split. Must support slicing and or be a narrow string type. | 
| s | The element (or range) to be treated as the separator between range segments to be split. | 
| isTerminator | The predicate for deciding where to split the range when no separator is passed | 
| keepSeparators | The flag for deciding if the separators are kept | 
Constraints
The predicate pred needs to accept an element of r and the
    separator s.
Returns
An input range of the subranges of elements between separators. If r
    is a forward range
    or bidirectional range,
    the returned range will be likewise.
    When a range is used a separator, bidirectionality isn't possible.
If keepSeparators is equal to Yes.keepSeparators the output will also contain the separators.
If an empty range is given, the result is an empty range. If a range with one separator is given, the result is a range with two empty elements.
See Also
splitter for a version that splits using a regular expression defined separator,
 split for a version that splits eagerly and
 splitWhen, which compares adjacent elements instead of element against separator.
Example
Basic splitting with characters and numbers.
import stdExample
Basic splitting with characters and numbers and keeping sentinels.
import stdExample
Adjacent separators.
import stdExample
Adjacent separators and keeping sentinels.
import stdExample
Empty and separator-only ranges.
import stdExample
Empty and separator-only ranges and keeping sentinels.
import stdExample
Use a range for splitting
import stdExample
Use a range for splitting
import stdExample
Custom predicate functions.
import stdExample
Custom predicate functions.
import stdExample
Use splitter without a separator
import stdExample
Leading separators, trailing separators, or no separators.
import stdExample
Leading separators, trailing separators, or no separators.
import stdExample
Splitter returns bidirectional ranges if the delimiter is a single element
import stdExample
Splitter returns bidirectional ranges if the delimiter is a single element
import stdExample
Splitting by word lazily
import stdFunction splitter
Lazily splits the character-based range s into words, using whitespace as the
delimiter.
						
				auto splitter(Range)
				(
				
				  Range s
				
				)
				
				if (isSomeString!Range || isRandomAccessRange!Range && hasLength!Range && hasSlicing!Range && !isConvertibleToString!Range && isSomeChar!(ElementEncodingType!Range));
						
					
				This function is character-range specific and, contrary to
splitter!(isWhite), runs of whitespace will be merged together
(no empty tokens will be produced).
Parameters
| Name | Description | 
|---|---|
| s | The character-based range to be split. Must be a string, or a random-access range of character types. | 
Returns
An input range of slices of the original range split by whitespace.
Example
import std