The above three classes are provided for parsing filenames. All provide the same parsing capability (except that the path passed to TParsePtrC cannot be modified, for example by adding or removing a directory), but they differ in several respects. TParse uses a 256 byte TFileName as an internal buffer to store a copy of the fully parsed filename. The other two classes on the other hand do not have any storage space. They should be used in preference to TParse when minimizing stack usage is a priority.
When using TParsePtr and TParsePtrC in preference to TParse, remember that:
unlike TParse, these classes do not provide an option to disallow the use of wildcards in the filename and extension
because the path to be parsed is passed as an argument to the constructor for a TParsePtr or TParsePtrC, if this path is invalid, construction will fail and a panic will occur. TParse, on the other hand, returns an error if the specified path is invalid
only instances of class TParse can be passed to calls to RFs::Parse()
TParsePtrC cannot modify the path which is passed to it, for example by adding or removing a directory