diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-08-06 23:03:52 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-08-06 23:03:52 +0000 |
commit | 565aafc997ee08803e2a6f7544f183b9e796ba94 (patch) | |
tree | 8ea8927c61eb691bb9f431f869957300391b94ff /include/llvm/Support/CommandLine.h | |
parent | 5eb308b9448ee5b14fac26c0533eac481bc28471 (diff) | |
download | external_llvm-565aafc997ee08803e2a6f7544f183b9e796ba94.zip external_llvm-565aafc997ee08803e2a6f7544f183b9e796ba94.tar.gz external_llvm-565aafc997ee08803e2a6f7544f183b9e796ba94.tar.bz2 |
Some cleanup. Use a class (OptionInfo) instead of a pair of a pair and remove
some default values that are not used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110485 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Support/CommandLine.h')
-rw-r--r-- | include/llvm/Support/CommandLine.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/include/llvm/Support/CommandLine.h b/include/llvm/Support/CommandLine.h index 61c3256..35ec9c7 100644 --- a/include/llvm/Support/CommandLine.h +++ b/include/llvm/Support/CommandLine.h @@ -443,16 +443,23 @@ protected: template <class DataType> class parser : public generic_parser_base { protected: - SmallVector<std::pair<const char *, - std::pair<DataType, const char *> >, 8> Values; + class OptionInfo { + public: + OptionInfo(const char *name, DataType v, const char *helpStr) : + Name(name), V(v), HelpStr(helpStr) {} + const char *Name; + DataType V; + const char *HelpStr; + }; + SmallVector<OptionInfo, 8> Values; public: typedef DataType parser_data_type; // Implement virtual functions needed by generic_parser_base unsigned getNumOptions() const { return unsigned(Values.size()); } - const char *getOption(unsigned N) const { return Values[N].first; } + const char *getOption(unsigned N) const { return Values[N].Name; } const char *getDescription(unsigned N) const { - return Values[N].second.second; + return Values[N].HelpStr; } // parse - Return true on error. @@ -465,8 +472,8 @@ public: for (unsigned i = 0, e = static_cast<unsigned>(Values.size()); i != e; ++i) - if (Values[i].first == ArgVal) { - V = Values[i].second.first; + if (Values[i].Name == ArgVal) { + V = Values[i].V; return false; } @@ -478,8 +485,8 @@ public: template <class DT> void addLiteralOption(const char *Name, const DT &V, const char *HelpStr) { assert(findOption(Name) == Values.size() && "Option already exists!"); - Values.push_back(std::make_pair(Name, - std::make_pair(static_cast<DataType>(V),HelpStr))); + OptionInfo X(Name, static_cast<DataType>(V), HelpStr); + Values.push_back(X); MarkOptionsChanged(); } |