libsesstype  2.0.0
Library for Session Types programming.
val.h
00001 #ifndef SESSTYPE__PARAMETERISED__EXPR__VAL_H__
00002 #define SESSTYPE__PARAMETERISED__EXPR__VAL_H__
00003 
00004 #include "sesstype/parameterised/expr.h"
00005 
00006 #ifdef __cplusplus
00007 namespace sesstype {
00008 namespace parameterised {
00009 #endif
00010 
00011 #ifdef __cplusplus
00012 
00015 class ValExpr : public Expr {
00016     int num_;
00017 
00018   public:
00021     ValExpr(int num) : Expr(ST_EXPR_CONST), num_(num) { }
00022 
00024     ValExpr(const ValExpr &expr) : Expr(ST_EXPR_CONST), num_(expr.num_) { }
00025 
00027     ValExpr *clone() const override
00028     {
00029         return new ValExpr(*this);
00030     }
00031 
00033     int num() const
00034     {
00035         return num_;
00036     }
00037 
00038     virtual void accept(util::ExprVisitor &v) override;
00039 };
00040 #endif
00041 
00042 #ifdef __cplusplus
00043 } // namespace parameterised
00044 } // namespace sesstype
00045 #endif
00046 #endif//SESSTYPE__PARAMETERISED__EXPR__VAL_H__
 All Classes Namespaces Files Functions