-/* $Id$
-
-This file is part of libmspdatafile
-Copyright © 2006 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
#ifndef MSP_DATAFILE_STATEMENT_H_
#define MSP_DATAFILE_STATEMENT_H_
class Statement
{
public:
+ typedef std::vector<Value> Arguments;
+
std::string keyword;
- ValueArray args;
+ Arguments args;
bool valid;
std::string source;
unsigned line;
std::list<Statement> sub;
- Statement(): valid(false), line(0) { }
+ 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); }
};
} // namespace DataFile