summaryrefslogtreecommitdiff
path: root/src/node_options-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_options-inl.h')
-rw-r--r--src/node_options-inl.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/node_options-inl.h b/src/node_options-inl.h
index d25557e6a5..f482bcd366 100644
--- a/src/node_options-inl.h
+++ b/src/node_options-inl.h
@@ -42,6 +42,19 @@ void OptionsParser<Options>::AddOption(const std::string& name,
template <typename Options>
void OptionsParser<Options>::AddOption(const std::string& name,
const std::string& help_text,
+ uint64_t Options::* field,
+ OptionEnvvarSettings env_setting) {
+ options_.emplace(
+ name,
+ OptionInfo{kUInteger,
+ std::make_shared<SimpleOptionField<uint64_t>>(field),
+ env_setting,
+ help_text});
+}
+
+template <typename Options>
+void OptionsParser<Options>::AddOption(const std::string& name,
+ const std::string& help_text,
int64_t Options::* field,
OptionEnvvarSettings env_setting) {
options_.emplace(
@@ -401,6 +414,9 @@ void OptionsParser<Options>::Parse(
case kInteger:
*Lookup<int64_t>(info.field, options) = std::atoll(value.c_str());
break;
+ case kUInteger:
+ *Lookup<uint64_t>(info.field, options) = std::stoull(value.c_str());
+ break;
case kString:
*Lookup<std::string>(info.field, options) = value;
break;