aboutsummaryrefslogtreecommitdiffstats
path: root/native/dicttoolkit/src/utils/arguments_and_options.h
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-11-25 01:35:27 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-11-25 01:35:30 +0000
commit62ac89e149b6e2275344f5cbf9bb4549f2e3c49e (patch)
tree1e521dfeb5b2df03adb36173f0861ea9ce866c95 /native/dicttoolkit/src/utils/arguments_and_options.h
parentdd01ed3af878e041a515ba3288964a2e96526bcd (diff)
parent1f8d4f47e445bd4316f3e09228cff6de64105f13 (diff)
downloadlatinime-62ac89e149b6e2275344f5cbf9bb4549f2e3c49e.tar.gz
latinime-62ac89e149b6e2275344f5cbf9bb4549f2e3c49e.tar.xz
latinime-62ac89e149b6e2275344f5cbf9bb4549f2e3c49e.zip
Merge "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.h23
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);