View source code
					
 Display the source code in std/stdio.d from which this page was generated on
 github.
					
				
				
 Improve this page
					
 Quickly fork, edit online, and submit a pull request for this page.
 Requires a signed-in GitHub account. This works well for small changes.
 If you'd like to make larger changes you may want to consider using
 local clone.
					
				
				
 Page wiki
					
 View or edit the community-maintained wiki page associated with this page.
					
				
			
			Function std.stdio.File.byLineCopy
			Returns an input range set up to read from the file handle one line
at a time. Each line will be newly allocated. front will cache
its value to allow repeated calls without unnecessary allocations.
Prototypes
auto byLineCopy(Terminator, Char)( KeepTerminator keepTerminator = KeepTerminator.no, Terminator terminator = '\x0a' ) if (isScalarType!Terminator); auto byLineCopy(Terminator, Char)( KeepTerminator keepTerminator, Terminator terminator ) if (is(Unqual!(ElementEncodingType!Terminator) == Unqual!Char));
Note
Due to caching byLineCopy can be more memory-efficient than
File.byLine.map!idup.
The element type for the range will be Char[]. Range
primitives may throw  on I/O StdioExceptionerror.
Parameters
| Name | Description | 
|---|---|
| Char |  Character type for each line, defaulting to immutable char. | 
| keepTerminator |  Use KeepTerminator.yes to include the
terminator at the end of each line. | 
| terminator |  Line separator ('\n' by default). Use
std.ascii.newline for portability (unless the file was opened in
text mode). | 
Example
import std.algorithm, std.array, std.stdio; // Print sorted lines of a file. void main() { auto sortedLines = File("file.txt") // Open for reading .byLineCopy() // Read persistent lines .array() // into an array .sort(); // then sort them foreach (line; sortedLines) writeln(line); }
See Also
Authors
Walter Bright, Andrei Alexandrescu, Alex Rønne Petersen