Movatterモバイル変換


[0]ホーム

URL:


D Logo
Menu
Search

Library Reference

version 2.112.0

overview

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 usinga local clone.

dmd.utils

This module defines some utility functions for DMD.
Authors:
Walter Bright
License:
Boost License 1.0

Sourceutils.d

Documentationhttps://dlang.org/phobos/dmd_utils.html

Coveragehttps://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/utils.d

nothrow const(char)*toWinPath(const(char)*src);
Normalize path by turning forward slashes into backslashes
Parameters:
const(char)*srcSource path, using unix-style ('/') path separators
Returns:
A newly-allocated string with '/' turned into backslashes
nothrow boolreadFile(Locloc, const(char)[]filename, ref OutBufferbuf);
Reads a file, terminate the program on error
Parameters:
LoclocThe line number information from where the call originates
const(char)[]filenamePath to file
OutBufferbufappend contents of file to
Returns:
true on failure
nothrow boolwriteFile(Locloc, const(char)[]filename, const void[]data);
Writes a file, terminate the program on error
Parameters:
LoclocThe line number information from where the call originates
const(char)[]filenamePath to file
void[]dataFull content of the file to be written
Returns:
false on error
nothrow boolensurePathToNameExists(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:
LoclocThe line number information from where the call originates
const(char)[]namea path to check (the name is stripped)
Returns:
false on error
pure nothrow voidescapePath(OutBuffer*buf, const(char)*fname);
Takes a path, and escapes '(', ')' and backslashes
Parameters:
OutBuffer*bufBuffer to write the escaped path to
const(char)*fnamePath to escape
pure nothrow @nogc @safe boolparseDigits(T)(ref Tval, const(char)[]p, const Tmax = T.max);
Convert string to integer.
Parameters:
TType of integer to parse
TvalVariable to store the result in
const(char)[]pslice to start of string digits
Tmaxmax allowable value (inclusive), defaults toT.max
Returns:
false on error,true on success
Examples:
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));
nothrow @safe ubyte[]arrayCastBigEndian(const ubyte[]data, size_tsize);
Cast aubyte[] to an array of larger integers as if we are on a big endian architecture
Parameters:
ubyte[]dataarray with big endian data
size_tsize1 for ubyte[], 2 for ushort[], 4 for uint[], 8 for ulong[]
Returns:
copy ofdata, with bytes shuffled if compiled forversion(LittleEndian)
Copyright © 1999-2026 by theD Language Foundation | Page generated byDdoc on Sat Feb 21 00:05:06 2026

[8]ページ先頭

©2009-2026 Movatter.jp