config/Data: move std::chrono parsers from Global.hxx

This commit is contained in:
Max Kellermann
2018-07-17 22:51:18 +02:00
parent a5b14a2ea7
commit 86c531b37d
3 changed files with 22 additions and 24 deletions
+17
View File
@@ -23,6 +23,7 @@
#include "Option.hxx"
#include <array>
#include <chrono>
struct ConfigParam;
struct ConfigBlock;
@@ -55,9 +56,25 @@ struct ConfigData {
unsigned GetUnsigned(ConfigOption option,
unsigned default_value) const;
std::chrono::steady_clock::duration
GetUnsigned(ConfigOption option,
std::chrono::steady_clock::duration default_value) const {
// TODO: allow unit suffixes
auto u = GetUnsigned(option, default_value.count());
return std::chrono::steady_clock::duration(u);
}
unsigned GetPositive(ConfigOption option,
unsigned default_value) const;
std::chrono::steady_clock::duration
GetPositive(ConfigOption option,
std::chrono::steady_clock::duration default_value) const {
// TODO: allow unit suffixes
auto u = GetPositive(option, default_value.count());
return std::chrono::steady_clock::duration(u);
}
bool GetBool(ConfigOption option, bool default_value) const;
gcc_pure
-20
View File
@@ -23,8 +23,6 @@
#include "Option.hxx"
#include "Compiler.h"
#include <chrono>
class Path;
class AllocatedPath;
struct ConfigData;
@@ -76,27 +74,9 @@ config_get_path(enum ConfigOption option);
unsigned
config_get_unsigned(enum ConfigOption option, unsigned default_value);
static inline std::chrono::steady_clock::duration
config_get_unsigned(ConfigOption option,
std::chrono::steady_clock::duration default_value)
{
// TODO: allow unit suffixes
auto u = config_get_unsigned(option, default_value.count());
return std::chrono::steady_clock::duration(u);
}
unsigned
config_get_positive(enum ConfigOption option, unsigned default_value);
static inline std::chrono::steady_clock::duration
config_get_positive(ConfigOption option,
std::chrono::steady_clock::duration default_value)
{
// TODO: allow unit suffixes
auto u = config_get_positive(option, default_value.count());
return std::chrono::steady_clock::duration(u);
}
bool config_get_bool(enum ConfigOption option, bool default_value);
#endif