#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); }