nf7/common/luajit_obj.hh

28 lines
526 B
C++

#pragma once
#include <future>
#include <memory>
#include "nf7.hh"
#include "common/future.hh"
#include "common/luajit_queue.hh"
#include "common/luajit_ref.hh"
namespace nf7::luajit {
class Obj : public nf7::File::Interface {
public:
Obj() = default;
Obj(const Obj&) = delete;
Obj(Obj&&) = delete;
Obj& operator=(const Obj&) = delete;
Obj& operator=(Obj&&) = delete;
// result is registered to LUA_REGISTRY
virtual nf7::Future<std::shared_ptr<Ref>> Build() noexcept = 0;
};
} // namespace nf7::luajit