    #include <iostream>
    #include <string>
    #include <tuple>
     
    enum ConfigEntry : unsigned int {
    	PLAYER_NAME = 0,
    	CONNECTION_TIMEOUT
    };
     
    struct ResourceManager {
    	template<ConfigEntry E>
    	static const auto& get() noexcept {
    		return std::get<static_cast<std::size_t>(E)>(content);
    	}
     
    	private:
    	static std::tuple<std::string, int> content;
    };
     
    std::tuple<std::string, int> ResourceManager::content = {"Rambo", 100};
     
    int main() {
    	std::cout << ResourceManager::get<PLAYER_NAME>() << std::endl;
    	std::cout << ResourceManager::get<CONNECTION_TIMEOUT>() << std::endl;
    }