Although the target platform is Linux for the initial version; portability is always something I like to address in projects so intend to use as much standard C++11 and the STL as possible. Modern C++ has built in thread support provided so this is one area of functionality that I don’t need to worry about but with the folder/directory watching functionality I don’t have such a luxury. Given that the target platform for my C++ projects at the moment is Linux leaves me with no choice but to use inotify; which is simplistic but functional and will suite my needs (note: alternatives do exist on other platforms for this library).
On recent travels learning about C++ I became exposed to the BOOST C++ library which some consider big and unwieldy but I like its power and flexibility along with the wide range of platforms its available on so I will be using it more and more. For this project I will be using its parameter and file subsystem libraries.