/** * @file paths.hpp * @brief Стандартные пути к каталогам и файлам */ #ifndef MYX_FILESYSTEM_PATHS_MT_HPP_ #define MYX_FILESYSTEM_PATHS_MT_HPP_ #pragma once #include #include #include #include #include #include #include #include #include namespace myx { namespace filesystem { /// @brief Потокобезопасная версия класса myx::filesystem::Paths class PathsMT : public Paths { PathsMT(); ~PathsMT() = default; PathsMT( const PathsMT& ) = delete; PathsMT& operator=( const PathsMT& ) = delete; static std::atomic< PathsMT* > mInstance; static std::mutex mMutex; public: /** * @brief getInstance * @return Уникальный экземпляр класса PathsMT */ static PathsMT& instance(); }; // class PathsMT } // namespace filesystem } // namespace myx #endif // MYX_FILESYSTEM_PATHS_MT_HPP_