File path builder.
typedef struct FilePathBuilder { uint sig; byte wobj[64]; } FilePathBuilder;

Check if non-empty path.
API bool FPBIsPath(FilePathBuilder *fpb);
fpb: Path Builder.
returns: True if non-empty path.

Get path.
API wcstr FPBGetPath(FilePathBuilder *fpb);
fpb: Path Builder.
returns: Path.

Get name part.
API wcstr FPBGetName(FilePathBuilder *fpb);
fpb: Path Builder.
returns: Name

Get extension part.
API wcstr FPBGetExt(FilePathBuilder *fpb);
fpb: Path Builder.
returns: Extension.

Get name and extension part.
API wcstr FPBGetNameAndExt(FilePathBuilder *fpb);
fpb: Path Builder.
returns: Name and extension.

Get directory part.
API wcstr FPBGetDir(FilePathBuilder *fpb);
fpb: Path Builder.
returns: Directory.

Add part after adding preceding slash.
API void FPBAddSlashedPart(FilePathBuilder *fpb, wcstr part);
fpb: Path Builder.
part: Part.

Add part.
API void FPBAddPart(FilePathBuilder *fpb, wcstr part);
fpb: Path Builder.
part: Part.

Remove part(s) from end of path.
API void FPBUp(FilePathBuilder *fpb, uint n);
fpb: Path Builder.
n: Number of parts to remove.

Make path lower case.
API void FPBToLower(FilePathBuilder *fpb);
fpb: Path Builder.

Clear path.
API void FPBClear(FilePathBuilder *fpb);
fpb: Path Builder.

Set path.
API void FPBSet(FilePathBuilder *fpb, wcstr path);
fpb: Path Builder.
path: Path.

Initialize path;
API void FPBInit(FilePathBuilder *fpb);
fpb: Path Builder.

Release path.
API void FPBRel(FilePathBuilder *fpb);
fpb: Path Builder.