The Pathie C++ library is a small C++ library that provides you with the means to handle path names properly, with special focus on supporting Unicode pathnames. As such, it gives access to the usual path management methods (like getting the parent directory or splitting a filename in directory and basename parts), but most importantly, it flawlessly works with UTF-8 pathnames regardless of the underlying platform (including Windows). In your application, you can just use UTF-8, and Pathie will transparently transform that to whatever the local filesystem encoding is.
Apart from the core path handling facility, Pathie also provides methods to retrieve the standard pathes a user has. On Linux, it covers both the XDG directories (properly localised so you get ~/Dokumente for the Documents directory on a German system) and the dot-dir group of directories (~/.config, etc.). On Windows, it gives you access to the User’s standard directory as exposed via the Win32API (e.g., C:/Users/Yourname/Documents).
Pathie currently supports Linux and Windows/MinGW. More detailed information is available in the README.
Pathie is a C++98 library, so you’ll need a C++98-compliant compiler.
2017-10-28: Stable release 0.1.0
I released a new version of Pathie that contains apart from bugfixes some interesting new features. Most notably, I added classes for handling temporary files and directories and C++98 compatibility. Also, the library has now switched license from GPL3 to BSD. For the full list of changes, see the CHANGELOG.
2016-01-26: Now selfhosting
I moved the Pathie project’s main infrastructure over to my personal project pages. A GitHub mirror will remain for now.
The stable version is 0.1.0, released on 2017-10-28.
- Current stable release: pathie-0.1.0.tar.gz (GPG signature; SHA256 checksum: a22b19524d6fe908ee95659988b0bb6a9a586d6551d0ba65768cfb38285e46dc)
- Prevous stable release: pathie-0.0.3.tar.gz (GPG signature; SHA256 checksum: 24297bad0aee268aeda7d79407c392ce1f1e1ec566fd946200337a5789eeef35)
The source code can be viewed in my Gitweb instance. To clone the repository to your local machine:
$ git clone git://git.guelker.eu/pathie.git
There’s also a GitHub mirror.
The documentation can be generated locally by running the
command in the project’s toplevel directory. The latest version is
also available online.
Pathie is distributed under the BSD license.