#pragma once #include #include #include namespace Config::inline Hydrogen {} namespace Config::Hydrogen ::detail:: ConfigFile_m { inline namespace exports { class ConfigFile; } class exports::ConfigFile { private: std::map< std::string, std::string > config; public: explicit ConfigFile( std::istream &&input, const std::map< std::string, std::string > &schema ); std::string get( const std::string &name ) const; }; } namespace Config::Hydrogen::inline exports::inline ConfigFile_m { using namespace detail::ConfigFile_m::exports; }