Function std.path.relativePath
			 Translates path
    The returned path is relative to basebasepathbase.
The following algorithm is used:
- If path
- Find a common root between pathbasepath
- Prepare a string with as many ../..\basepath.
- Append the remaining segments of path
    In the second step, path components are compared using filenameCmp!cscs is an optional template parameter determining whether
    the comparison is case sensitive or not.  See the
    filenameCmp documentation for details.
This function allocates memory.
Prototype
string relativePath(std.path.CaseSensitive cs)( string path, string base = getcwd() );
Parameters
| Name | Description | 
|---|---|
| cs | Whether matching pathname components against thebasepathshould
            be case-sensitive or not. | 
| path | A pathname. | 
| base | The basepathto construct the relativepathfrom. | 
Returns
The relative path.
See Also
        asRelativePath which does not allocate memory
Examples
assert (relativePath("foo") == "foo");
version (Posix)
{
    assert (relativePath("foo", "/bar") == "foo");
    assert (relativePath("/foo/bar", "/foo/bar") == ".");
    assert (relativePath("/foo/bar", "/foo/baz") == "../bar");
    assert (relativePath("/foo/bar/baz", "/foo/woo/wee") == "../../bar/baz");
    assert (relativePath("/foo/bar/baz", "/foo/bar") == "baz");
}
version (Windows)
{
    assert (relativePath("foo", c:\bar) == "foo");
    assert (relativePath(c:\foo\bar, c:\foo\bar) == ".");
    assert (relativePath(c:\foo\bar, c:\foo\baz) == ..\bar);
    assert (relativePath(c:\foo\bar\baz, c:\foo\woo\wee) == ..\..\bar\baz);
    assert (relativePath(c:\foo\bar\baz, c:\foo\bar) == "baz");
    assert (relativePath(c:\foo\bar, d:\foo) == c:\foo\bar);
}
Throws
    Exception if the specified base directory is not absolute.
Authors
Lars Tandle Kyllingstad, Walter Bright, Grzegorz Adam Hankiewicz, Thomas Kühne, Andrei Alexandrescu