rt_var_object.h 622 B

12345678910111213141516171819202122232425
  1. #ifndef AFUN_VAR_OBJECT_H
  2. #define AFUN_VAR_OBJECT_H
  3. #include <list>
  4. #include "aFunRuntimeExport.h"
  5. #include "aFuncore.h"
  6. namespace aFunrt {
  7. class AFUN_RT_EXPORT Var : public aFuncore::Object {
  8. public:
  9. aFuncore::Environment &env;
  10. Var(Object *data_, aFuncore::Inter &inter);
  11. Var(Object *data_, aFuncore::Environment &env_);
  12. ~Var() override = default;
  13. [[nodiscard]] virtual Object *getData();
  14. virtual void setData(Object *data_);
  15. void linkObject(std::queue<Object *> &queue) override;
  16. private:
  17. Object *data;
  18. };
  19. }
  20. #endif //AFUN_VAR_OBJECT_H