diff options
author | 2014-11-25 01:38:44 +0000 | |
---|---|---|
committer | 2014-11-25 01:38:44 +0000 | |
commit | 7f372d57811fbdf7431c742d2de8dadf2af7a3fb (patch) | |
tree | 2af5decaf0a8ecfa97bef375d425bc67ea3b38d3 /native/dicttoolkit/src/utils/arguments_and_options.h | |
parent | d46a5ea6671f3d5cc7d433554ffe783740dd3ab1 (diff) | |
parent | 62ac89e149b6e2275344f5cbf9bb4549f2e3c49e (diff) | |
download | latinime-7f372d57811fbdf7431c742d2de8dadf2af7a3fb.tar.gz latinime-7f372d57811fbdf7431c742d2de8dadf2af7a3fb.tar.xz latinime-7f372d57811fbdf7431c742d2de8dadf2af7a3fb.zip |
am 62ac89e1: Merge "Implement ArgumentsParser::parseArguments and add tests."
* commit '62ac89e149b6e2275344f5cbf9bb4549f2e3c49e':
Implement ArgumentsParser::parseArguments and add tests.
Diffstat (limited to 'native/dicttoolkit/src/utils/arguments_and_options.h')
-rw-r--r-- | native/dicttoolkit/src/utils/arguments_and_options.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/native/dicttoolkit/src/utils/arguments_and_options.h b/native/dicttoolkit/src/utils/arguments_and_options.h index d8f5985e5..2d81b1ecb 100644 --- a/native/dicttoolkit/src/utils/arguments_and_options.h +++ b/native/dicttoolkit/src/utils/arguments_and_options.h @@ -42,6 +42,29 @@ class ArgumentsAndOptions { return mOptions.find(optionName) != mOptions.end(); } + const std::string &getOptionValue(const std::string &optionName) const { + const auto &it = mOptions.find(optionName); + ASSERT(it != mOptions.end()); + return it->second; + } + + bool hasArgument(const std::string &name) const { + const auto &it = mArguments.find(name); + return it != mArguments.end() && !it->second.empty(); + } + + const std::string &getSingleArgument(const std::string &name) const { + const auto &it = mArguments.find(name); + ASSERT(it != mArguments.end() && !it->second.empty()); + return it->second.front(); + } + + const std::vector<std::string> &getVariableLengthArguments(const std::string &name) const { + const auto &it = mArguments.find(name); + ASSERT(it != mArguments.end()); + return it->second; + } + private: DISALLOW_ASSIGNMENT_OPERATOR(ArgumentsAndOptions); |