Hi All,
The below code output's the below warning, so if
std.container.array.RangeT(A) is deprecated then what is the
equivalent for this, request your help on this.
Warning :
Size.d(10): Deprecation: std.container.array.RangeT(A) is not
visible from module Size
Size.d(10): Deprecation: std.container.array.RangeT(A) is not
visible from module Size
Size.d(10): Deprecation: std.container.array.RangeT(A) is not
visible from module Size
Size.d(10): Deprecation: std.container.array.RangeT(A) is not
visible from module Size
["C:\\Temp\\sapnas2\\BACKUP\\dir1",
"C:\\Temp\\sapnas2\\BACKUP\\DND3",
"C:\\Temp\\sapnas2\\BACKUP\\DND5"][34, 1, 5]
Code:
import std.algorithm: filter, map, fold;
import std.container;
import std.file: SpanMode, dirEntries, isDir, isFile;
import std.stdio: File, writefln, writeln;
import std.typecons: tuple, Tuple;
import std.parallelism: parallel;
import std.conv;
import std.range;
Tuple!(RangeT!(Array!string), RangeT!(Array!ulong)) coSizeDirList
() {
string FFs = "C:\\Temp\\sapnas2\\BACKUP";
int SizeDir = 1;
ulong subdirTotal;
ulong subdirTotalGB;
Array!(string) Subdir;
Array!(ulong) Subsize;
Tuple!((Array!string), (Array!string)) Result;
auto dFiles = Array!string ((dirEntries(FFs,
SpanMode.shallow).filter!(a => a.isDir))[].map!(a => a.name));
foreach (d; dFiles[]) {
auto SdFiles = Array!ulong(dirEntries(d,
SpanMode.depth).map!(a => a.size));
foreach(f; SdFiles[]) { subdirTotal += f; }
subdirTotalGB = (subdirTotal/1024/1024); { Subdir ~= d;
Subsize ~= subdirTotalGB; }
if (subdirTotalGB > SizeDir)
subdirTotal = 0;
}
return tuple (Subdir[], Subsize[]);
}
void main () {
writeln(coSizeDirList[]);
}
From,
Vino.B