Function comparePathsNaturalSort

Path comparison function for use with phobos's sorting algorithm

bool comparePathsNaturalSort(T) (
  const T a,
  const T b
)
if (isSomeString!T);

Returns

true if a < b

Example

import std.algorithm : sort, equal;
import std.array : array;
assert(comparePathsNaturalSort("a/b", "a1/b") == true);
assert(equal(sort!comparePathsNaturalSort(["a/b/c", "a/b/e", "a/b/d"]), ["a/b/c", "a/b/d", "a/b/e"]));
assert(equal(sort!comparePathsNaturalSort(["a1", "a"]), ["a", "a1"]));
assert(equal(sort!comparePathsNaturalSort(["a1/b", "a/b"]), ["a/b", "a1/b"]));