00001 #ifndef EXPR_LIST_EXPRESSION_H_
00002 #define EXPR_LIST_EXPRESSION_H_
00003
00004 #include "expression.h"
00005 #include <vector>
00006
00007 using namespace std;
00008
00009 namespace il
00010 {
00011 class type;
00017 class expr_list_expression : public il::expression
00018 {
00019 friend class boost::serialization::access;
00020
00021 template<class Archive>
00022 void serialize(Archive & ar, const unsigned int version)
00023 {
00024 ar & boost::serialization::base_object<il::expression>(*this);
00025 ar & exprs;
00026 }
00027
00028 private:
00029 vector<expression*> exprs;
00030
00031 public:
00032 expr_list_expression();
00033 expr_list_expression(vector<expression*> & exprs, type* t, location loc);
00034 vector<expression*>& get_inner_expressions();
00035 virtual string to_string() const;
00036 virtual ~expr_list_expression();
00037 };
00038
00039 }
00040
00041 #endif