diff options
author | tomsmeding <tom.smeding@gmail.com> | 2017-01-08 22:43:35 +0100 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2017-01-08 22:43:35 +0100 |
commit | 4addb711c6a1a282b0a59bf03e850a86ba2ead69 (patch) | |
tree | f7e9c4a594d1c4fa41a6ebc6371279762a9a580a /command.cpp |
Initial
Diffstat (limited to 'command.cpp')
-rw-r--r-- | command.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/command.cpp b/command.cpp new file mode 100644 index 0000000..f8f91b9 --- /dev/null +++ b/command.cpp @@ -0,0 +1,33 @@ +#include "command.h" + +using namespace std; + + +Command::Command(string cmd) + :cmd(cmd){} + +Command::Command(string cmd,vector<string> args) + :cmd(cmd),args(args){} + +Command::Command(string cmd,initializer_list<string> l) + :cmd(cmd),args(l.begin(),l.end()){} + +Command::Command(initializer_list<string> l) + :cmd(*l.begin()),args(l.begin()+1,l.end()){} + + +const string& Command::command() const { + return cmd; +} + +const vector<string>& Command::arguments() const { + return args; +} + +const string& Command::argument(i64 index) const { + return args.at(index); +} + +const string& Command::operator[](i64 index) const { + return index==0?cmd:args.at(index-1); +} |