std.algorithm.searching.Until/until  - multiple declarations
				Function until
Lazily iterates range until the element e for which
pred(e, sentinel) is true.
						
					
				This is similar to takeWhile in other languages.
Parameters
| Name | Description | 
|---|---|
| pred | Predicate to determine when to stop. | 
| range | The input range to iterate over. | 
| sentinel | The element to stop at. | 
| openRight |  Determines whether the element for which the given predicate is
        true should be included in the resulting range (No), or
        not (Yes). | 
Returns
An input range that iterates over the original range's elements, but ends when the specified predicate becomes true. If the original range is a forward range or higher, this range will be a forward range.
Example
import std .algorithm .comparison : equal;
import std .typecons : No;
int[] a = [ 1, 2, 4, 7, 7, 2, 4, 7, 3, 5];
assert(equal(a .until(7), [1, 2, 4]));
assert(equal(a .until(7, No .openRight), [1, 2, 4, 7]));
Struct Until
Lazily iterates range until the element e for which
pred(e, sentinel) is true.
						
				struct Until(alias pred, Range, Sentinel)
				
				  
				
				if (isInputRange!Range);
						
					
				This is similar to takeWhile in other languages.
Constructors
| Name | Description | 
|---|---|
								
									this
								
								(input, sentinel, openRight)
							 | 
							
Properties
| Name | Type | Description | 
|---|---|---|
								empty[get]
							 | 
							bool | |
								front[get]
							 | 
							auto | |
								save[get]
							 | 
							Until | 
Methods
| Name | Description | 
|---|---|
								
									popFront
								
								()
							 | 
							
Parameters
| Name | Description | 
|---|---|
| pred | Predicate to determine when to stop. | 
| range | The input range to iterate over. | 
| sentinel | The element to stop at. | 
| openRight |  Determines whether the element for which the given predicate is
        true should be included in the resulting range (No), or
        not (Yes). | 
Returns
An input range that iterates over the original range's elements, but ends when the specified predicate becomes true. If the original range is a forward range or higher, this range will be a forward range.
Example
import std .algorithm .comparison : equal;
import std .typecons : No;
int[] a = [ 1, 2, 4, 7, 7, 2, 4, 7, 3, 5];
assert(equal(a .until(7), [1, 2, 4]));
assert(equal(a .until(7, No .openRight), [1, 2, 4, 7]));