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