- Statement(): valid(false), line(0) { }
- std::string get_location() const
- { std::ostringstream ss; ss<<source<<':'<<line; return ss.str(); }
+ Statement();
+ Statement(const std::string &);
+ std::string get_location() const;
+ std::string get_signature() const;
+
+ template<typename T>
+ Statement &append(const T &v)
+ {
+ args.push_back(v);
+ return *this;
+ }
+
+ template<typename T>
+ Statement &operator,(const T &v)
+ { return append(v); }