File Path Builder
// Simplifies building a file path.
class RVAPI Path
{
public:
// Check if non-empty.
bool operator ! () const;
// Get native string.
operator wcstr () const;
// Get name part.
wcstr GetName() const;
// Get extension part.
wcstr GetExt() const;
// Get name and extension part.
wcstr GetNameAndExt() const;
// Get directory part.
wcstr GetDir() const;
// Set path.
void operator = (wcstr string);
// Append slash then add [part].
void operator &= (wcstr part);
// Append [part].
void operator += (wcstr part);
// Remove [n] part(s) from end of path.
void Up(uint n = 1);
// Make path lower case.
void ToLower();
// Clear path.
void Clear();
// Internal.
void *operator () () const { return (void *)wobj; }
// Constructor.
Path();
// Destructor.
~Path();
private:
byte wobj[64];
};