GlobalPath

Global path (spanning multiple trees) This is to allow efficiently representing paths where the prefix (subvolume path) varies, e.g.: - /@root/usr/lib/libfoo.so.1.0.0 - /backups/@root-20200101000000/usr/lib/libfoo.so.1.0.0 - /backups/@root-20200102000000/usr/lib/libfoo.so.1.0.0 etc. Here we can store /backups/@root-20200102000000 etc. as one SubPath and /usr/lib/libfoo.so.1.0.0 as another, with the GlobalPath representing a concatenation of the two.

Members

Functions

length
size_t length()
Undocumented in source. Be warned that the author may not have intended to support it.
range
auto range()

Return an iterator for subpaths. Iterates from inner-most to top level.

toString
void toString(void delegate(const(char)[]) sink)
Undocumented in source. Be warned that the author may not have intended to support it.

Mixins

__anonymous
mixin PathCommon
Undocumented in source.
__anonymous
mixin PathCmp
Undocumented in source.

Variables

parent
GlobalPath* parent;

Parent tree (or null if none)

subPath
SubPath* subPath;

Path within this filesystem

Mixed In Members

From mixin PathCommon

commonPrefix
typeof(this)* commonPrefix(typeof(this)*[] paths)

Returns the common prefix of paths. Assumes that if two pointers are different, they point at different paths. Destructively mutates paths as scratch space.

From mixin PathCmp

opCmp
int opCmp(typeof(this) b)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta