I tried splitting up the sources to speed up some compiling... but it didn't help. I dunno that it's more readable this way. I'm checkpointing this just in case.
32 lines
590 B
C++
32 lines
590 B
C++
#pragma once
|
|
|
|
#include <map>
|
|
#include <string>
|
|
#include <istream>
|
|
|
|
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;
|
|
}
|