From 4addb711c6a1a282b0a59bf03e850a86ba2ead69 Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Sun, 8 Jan 2017 22:43:35 +0100 Subject: Initial --- command.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 command.cpp (limited to 'command.cpp') 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 args) + :cmd(cmd),args(args){} + +Command::Command(string cmd,initializer_list l) + :cmd(cmd),args(l.begin(),l.end()){} + +Command::Command(initializer_list l) + :cmd(*l.begin()),args(l.begin()+1,l.end()){} + + +const string& Command::command() const { + return cmd; +} + +const vector& 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); +} -- cgit v1.2.3-54-g00ecf