public:
Loader(Timetable &);
private:
+ void arrive();
void go_to(const std::string &);
void route(const std::string &);
- void speed(int);
+ void reverse();
+ void speed(unsigned);
void travel(const std::string &);
void wait(unsigned);
};
GOTO,
TRAVEL,
WAIT,
+ ARRIVE,
SPEED,
+ REVERSE,
ROUTE
};
struct Row
{
RowType type;
- int intparam;
- std::string strparam;
+ std::vector<Msp::Variant> params;
- Row(RowType, int);
- Row(RowType, const std::string &);
+ Row(RowType);
+
+ template<typename T>
+ Row(RowType, const T &);
+
+ template<typename T>
+ const T &get_param(unsigned) const;
std::string str() const;
+ Msp::DataFile::Statement save() const;
+
static Row parse(const std::string &);
};