diff options
Diffstat (limited to 'src/node_options-inl.h')
-rw-r--r-- | src/node_options-inl.h | 16 |
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; |