std.conv.parse  - multiple declarations
				Function parse
The parse family of functions works quite like the to
family, except that:
- It only works with character ranges as input.
- It takes the input by reference. (This means that rvalues - such
    as string literals - are not accepted: use toinstead.)
- It advances the input to the position following the conversion.
- It does not throw if it could not convert the entire input.
						
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  ref Source source
				
				)
				
				if (isInputRange!Source && isSomeChar!(ElementType!Source) && is(immutable(Target) == immutable(bool)));
						
					
				This overload converts a character input range to a bool.
Parameters
| Name | Description | 
|---|---|
| Target | the type to convert to | 
| source | the lvalue of an input range | 
| doCount | the flag for deciding to report the number of consumed characters | 
Returns
- A boolifdoCountis set toNo.doCount 
- A tuplecontaining abooland asize_tifdoCountis set toYes.doCount 
Throws
A ConvException if the range does not represent a bool.
Note
All character input range conversions using to are forwarded
    to parse and do not require lvalues.
Example
import stdFunction parse
Parses a character input range to an integral value.
						
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  scope ref Source s
				
				)
				
				if (isSomeChar!(ElementType!Source) && isIntegral!Target && !is(Target == enum));
				
				
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  ref Source source,
				
				  uint radix
				
				)
				
				if (isSomeChar!(ElementType!Source) && isIntegral!Target && !is(Target == enum));
						
					
				Parameters
| Name | Description | 
|---|---|
| Target | the integral type to convert to | 
| s | the lvalue of an input range | 
| doCount | the flag for deciding to report the number of consumed characters | 
Returns
- A number of type TargetifdoCountis set toNo.doCount 
- A tuplecontaining a number of typeTargetand asize_tifdoCountis set toYes.doCount 
Throws
A ConvException If an overflow occurred during conversion or
    if no character of the input was meaningfully converted.
Example
import stdExample
import stdFunction parse
Takes a string representing an enum type and returns that type.
						
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  ref Source s
				
				)
				
				if (isSomeString!Source && !is(Source == enum) && is(Target == enum));
						
					
				Parameters
| Name | Description | 
|---|---|
| Target | the enumtype to convert to | 
| s | the lvalue of the range to parse | 
| doCount | the flag for deciding to report the number of consumed characters | 
Returns
- An enumof typeTargetifdoCountis set toNo.doCount 
- A tuplecontaining anenumof typeTargetand asize_tifdoCountis set toYes.doCount 
Throws
A ConvException if type Target does not have a member
     represented by s.
Example
import stdFunction parse
Parses a character range to a floating point number.
						
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  ref Source source
				
				)
				
				if (isInputRange!Source && isSomeChar!(ElementType!Source) && !is(Source == enum) && isFloatingPoint!Target && !is(Target == enum));
						
					
				Parameters
| Name | Description | 
|---|---|
| Target | a floating point type | 
| source | the lvalue of the range to parse | 
| doCount | the flag for deciding to report the number of consumed characters | 
Returns
- A floating point number of type TargetifdoCountis set toNo.doCount 
- A tuplecontaining a floating point number of·typeTargetand asize_tifdoCountis set toYes.doCount 
Throws
A ConvException if source is empty, if no number could be
     parsed, or if an overflow occurred.
Example
import stdFunction parse
Parsing one character off a range returns the first element and calls popFront.
						
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  ref Source s
				
				)
				
				if (isSomeString!Source && !is(Source == enum) && (staticIndexOf!(immutable(Target), immutable(dchar), immutable(ElementEncodingType!Source)) >= 0));
				
				
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  ref Source s
				
				)
				
				if (!isSomeString!Source && isInputRange!Source && isSomeChar!(ElementType!Source) && isSomeChar!Target && (Target
				Parameters
| Name | Description | 
|---|---|
| Target | the type to convert to | 
| s | the lvalue of an input range | 
| doCount | the flag for deciding to report the number of consumed characters | 
Returns
- A character of type TargetifdoCountis set toNo.doCount 
- A tuplecontaining a character of typeTargetand asize_tifdoCountis set toYes.doCount 
Throws
A ConvException if the range is empty.
Example
import stdFunction parse
Parsing a character range to typeof(null) returns null if the range
spells "null". This function is case insensitive.
						
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  ref Source s
				
				)
				
				if (isInputRange!Source && isSomeChar!(ElementType!Source) && is(immutable(Target) == immutable(typeof(null))));
						
					
				Parameters
| Name | Description | 
|---|---|
| Target | the type to convert to | 
| s | the lvalue of an input range | 
| doCount | the flag for deciding to report the number of consumed characters | 
Returns
- nullif- doCountis set to- No- .doCount 
- A tuplecontainingnulland asize_tifdoCountis set toYes.doCount 
Throws
A ConvException if the range doesn't represent null.
Example
import stdFunction parse
Parses an array from a string given the left bracket (default  '['), right bracket (default ']'), and element separator (by
 default ','). A trailing separator is allowed.
						
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  ref Source s,
				
				  dchar lbracket = '[',
				
				  dchar rbracket = ']',
				
				  dchar comma = ','
				
				)
				
				if (isSomeString!Source && !is(Source == enum) && isDynamicArray!Target && !is(Target == enum));
				
				
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  ref Source s,
				
				  dchar lbracket = '[',
				
				  dchar rbracket = ']',
				
				  dchar comma = ','
				
				)
				
				if (isExactSomeString!Source && isStaticArray!Target && !is(Target == enum));
						
					
				Parameters
| Name | Description | 
|---|---|
| s | The string to parse | 
| lbracket | the character that starts the array | 
| rbracket | the character that ends the array | 
| comma | the character that separates the elements of the array | 
| doCount | the flag for deciding to report the number of consumed characters | 
Returns
- An array of type TargetifdoCountis set toNo.doCount 
- A tuplecontaining an array of typeTargetand asize_tifdoCountis set toYes.doCount 
Example
import stdFunction parse
Parses an associative array from a string given the left bracket (default  '['), right bracket (default ']'), key-value separator (default  ':'), and element seprator (by default ',').
						
				auto parse(Target, Source, Flag!("doCount") doCount = No
				  ref Source s,
				
				  dchar lbracket = '[',
				
				  dchar rbracket = ']',
				
				  dchar keyval = ':',
				
				  dchar comma = ','
				
				)
				
				if (isSomeString!Source && !is(Source == enum) && isAssociativeArray!Target && !is(Target == enum));
						
					
				Parameters
| Name | Description | 
|---|---|
| s | the string to parse | 
| lbracket | the character that starts the associative array | 
| rbracket | the character that ends the associative array | 
| keyval | the character that associates the key with the value | 
| comma | the character that separates the elements of the associative array | 
| doCount | the flag for deciding to report the number of consumed characters | 
Returns
- An associative array of type TargetifdoCountis set toNo.doCount 
- A tuplecontaining an associative array of typeTargetand asize_tifdoCountis set toYes.doCount 
Example
import stdAuthors
Walter Bright, Andrei Alexandrescu, Shin Fujishiro, Adam D. Ruppe, Kenji Hara