00001 #ifndef WHILE_LOOP_H_
00002 #define WHILE_LOOP_H_
00003
00004 #include "control_statement.h"
00005
00006
00007 namespace il
00008 {
00009
00017 class while_loop : public il::control_statement
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::control_statement>(*this);
00025 ar & continue_cond;
00026 ar & body;
00027 }
00028 private:
00029 expression* continue_cond;
00030 statement* body;
00031
00032 public:
00033 while_loop();
00034 while_loop(expression* continue_cond, statement* body);
00035 expression* get_continuation_cond();
00036 statement* get_body();
00037 void print();
00038 virtual ~while_loop();
00039 };
00040
00041 }
00042
00043 #endif