00001
00002
00003 #ifndef SIMPLE_EXPR_H
00004 #define SIMPLE_EXPR_H
00005
00006 #include "Expr.h"
00007 #include "CliArgList.h"
00008
00009 #include "Serializable.h"
00010
00011
00016 class SimpleExpr : public Expr
00017 {
00018 public:
00020 SimpleExpr(AData * arg);
00022 ~SimpleExpr();
00024 void eval (CliArgList *loop_vars, AData *return_value);
00025
00026 private:
00027 CliArgList * args;
00028
00029
00030 protected:
00031 SimpleExpr() {}
00032 private:
00033 friend class boost::serialization::access;
00034 template<class Archive>
00035 void serialize(Archive & ar, const unsigned int version) {
00036 this->pre_serialize(ar, version);
00037 try {
00038 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Expr);
00039 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00040 }
00041 try {
00042 ar & BOOST_SERIALIZATION_NVP(args);
00043 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00044 }
00045 this->post_serialize(ar, version);
00046 }
00047
00048 };
00049
00050 BIE_CLASS_TYPE_INFO(SimpleExpr)
00051 BIE_CLASS_EXPORT_KEY(SimpleExpr)
00052 #endif