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