std::uint64_t ConfigManager::get_value<std::uint64_t>(const Settings settings, const char* key) const
{
  if (key != nullptr)
  {
    if (settings.HasMember(key) && settings[key].IsUint64())
    {
      return settings[key].GetUint64();
    }
    else
      throw ConfigException("Configuration Manager: Parse error.");
  }
  else
  {
    if (settings.IsUint64())
      return settings.GetUint64();
    else
      throw ConfigException("Configuration Manager: Parse error.");
  }
}