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.
2019-05-12: Stable release 0.1.1
I released a new version of Pathie. This release is mostly bugfix release, though there are two notable changes:
- People using Pathie directly from a checkout of the Git repository
should update their
#includestatements. The longstanding problem with the incorrect directory structure was fixed. Existing programmes continue to work, but compilation yields a deprecation warning. Programmes using Pathie from the release tarball are not affected.
- Experimental Mac support was added. Do not rely on it.
Several compilation errors are fixed by this release.
Consult the CHANGELOG for the full list of changes.
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.1, released on 2019-05-12.
- Current stable release: pathie-0.1.1.tar.gz (GPG signature; SHA256 checksum: 82b3e313baa4c153977225b4febfb7592c37088ec5c7fb5ea8d302d1de120169)
- Previous stable release: pathie-0.1.0.tar.gz (GPG signature; SHA256 checksum: a22b19524d6fe908ee95659988b0bb6a9a586d6551d0ba65768cfb38285e46dc)
The source code can be viewed online. 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.