jplus-0.4.6
src/jplus.h
Go to the documentation of this file.
00001 /* -*- mode: c++; indent-tabs-mode:nil -*- */
00002 #ifndef JPLUS_H
00003 #define JPLUS_H
00004 
00005 #include <istream>
00006 #include <vector>
00007 #include <set>
00008 #include "jengine.h"
00009 
00010 class BasicBlock;
00011 
00015 class jplus: public jengine {
00016 private:
00017   BasicBlock* program;
00018 
00019 public:
00021   jplus();
00022 
00026   bool init(std::istream &script);
00027 
00029   ~jplus();
00030   
00036   bool set(std::string name, jarray data);
00037 
00042   jarray get(std::string name);
00043 
00049   std::vector<std::string> getProgram(std::set<std::string> vars);
00050 
00054   std::vector<std::string> getProgram();
00055 
00056 protected:
00061   virtual void libInit();
00062 
00063 private:
00064   // copy disabled
00065   jplus(const jplus &);
00066   const jplus& operator=(const jplus&);
00067 };
00068 
00069 #endif