Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
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
a local clone.
dmd.utils
This module defines some utility functions for DMD.
Authors:
License:
Source utils.d
Documentation https://dlang.org/phobos/dmd_utils.html
- const(char)*
toWinPath
(const(char)*src
); - Normalize path by turning forward slashes into backslashesParameters:
const(char)* src
Source path, using unix-style ('/') path separators Returns:A newly-allocated string with '/' turned into backslashes - FileBuffer
readFile
(Locloc
, const(char)*filename
);
FileBufferreadFile
(Locloc
, const(char)[]filename
); - Reads a file, terminate the program on errorParameters:
Loc loc
The line number information from where the call originates const(char)* filename
Path to file - void
writeFile
(Locloc
, const(char)[]filename
, const void[]data
); - Writes a file, terminate the program on errorParameters:
Loc loc
The line number information from where the call originates const(char)[] filename
Path to file void[] data
Full content of the file to be written - void
ensurePathToNameExists
(Locloc
, const(char)[]name
); - Ensure the root path (the path minus the name) of the provided path exists, and terminate the process if it doesn't.Parameters:
Loc loc
The line number information from where the call originates const(char)[] name
a path to check (the name is stripped) - void
escapePath
(OutBuffer*buf
, const(char)*fname
); - Takes a path, and escapes '(', ')' and backslashesParameters:
OutBuffer* buf
Buffer to write the escaped path to const(char)* fname
Path to escape - pure nothrow @nogc @safe bool
parseDigits
(T)(ref Tval
, const(char)[]p
, const Tmax
= T.max
); - Convert string to integer.Parameters:
T Type of integer to parse T val
Variable to store the result in const(char)[] p
slice to start of string digits T max
max allowable value (inclusive), defaults to T. max
Returns:false on error, true on successExamples:byte b; ubyte ub; short s; ushort us; int i; uint ui; long l; ulong ul; assert(b.parseDigits("42") && b == 42); assert(ub.parseDigits("42") && ub == 42); assert(s.parseDigits("420") && s == 420); assert(us.parseDigits("42000") && us == 42_000); assert(i.parseDigits("420000") && i == 420_000); assert(ui.parseDigits("420000") && ui == 420_000); assert(l.parseDigits("42000000000") && l == 42_000_000_000); assert(ul.parseDigits("82000000000") && ul == 82_000_000_000); assert(!b.parseDigits(ubyte.max.stringof)); assert(!b.parseDigits("WYSIWYG")); assert(!b.parseDigits("-42")); assert(!b.parseDigits("200")); assert(ub.parseDigits("200") && ub == 200); assert(i.parseDigits(int.max.stringof) && i == int.max); assert(i.parseDigits("420", 500) && i == 420); assert(!i.parseDigits("420", 400));
Copyright © 1999-2022 by the D Language Foundation | Page generated by
Ddoc on (no date time)