diff options
Diffstat (limited to 'src/deep.h')
-rw-r--r-- | src/deep.h | 21 |
1 files changed, 11 insertions, 10 deletions
@@ -63,21 +63,22 @@ class DeepFactory | |||
63 | DeepFactory& operator=(DeepFactory const&&) = delete; | 63 | DeepFactory& operator=(DeepFactory const&&) = delete; |
64 | 64 | ||
65 | private: | 65 | private: |
66 | void storeDeepLookup(lua_State* L_) const; | ||
67 | // NVI: private overrides | 66 | // NVI: private overrides |
68 | [[nodiscard]] virtual DeepPrelude* newDeepObjectInternal(lua_State* L_) const = 0; | 67 | virtual void createMetatable(lua_State* const L_) const = 0; |
69 | virtual void deleteDeepObjectInternal(lua_State* L_, DeepPrelude* o_) const = 0; | 68 | virtual void deleteDeepObjectInternal(lua_State* const L_, DeepPrelude* const o_) const = 0; |
70 | virtual void createMetatable(lua_State* L_) const = 0; | 69 | [[nodiscard]] virtual DeepPrelude* newDeepObjectInternal(lua_State* const L_) const = 0; |
71 | [[nodiscard]] virtual std::string_view moduleName() const = 0; | 70 | [[nodiscard]] virtual std::string_view moduleName() const = 0; |
72 | 71 | ||
72 | private: | ||
73 | void storeDeepLookup(lua_State* const L_) const; | ||
74 | |||
73 | public: | 75 | public: |
74 | // NVI: public interface | 76 | // NVI: public interface |
75 | [[nodiscard]] int pushDeepUserdata(DestState L_, int nuv_) const; | 77 | static void DeleteDeepObject(lua_State* const L_, DeepPrelude* const o_); |
76 | [[nodiscard]] DeepPrelude* toDeep(lua_State* L_, int index_) const; | 78 | [[nodiscard]] static DeepFactory* LookupFactory(lua_State* const L_, int const index_, LookupMode const mode_); |
77 | static void DeleteDeepObject(lua_State* L_, DeepPrelude* o_); | 79 | static void PushDeepProxy(DestState const L_, DeepPrelude* const o_, int const nuv_, LookupMode const mode_, lua_State* const errL_); |
78 | static void PushDeepProxy(DestState L_, DeepPrelude* o_, int nuv_, LookupMode mode_, lua_State* errL_); | 80 | [[nodiscard]] int pushDeepUserdata(DestState const L_, int const nuv_) const; |
81 | [[nodiscard]] DeepPrelude* toDeep(lua_State* const L_, int const index_) const; | ||
79 | }; | 82 | }; |
80 | 83 | ||
81 | // ################################################################################################# | 84 | // ################################################################################################# |
82 | |||
83 | [[nodiscard]] DeepFactory* LookupFactory(lua_State* L_, int index_, LookupMode mode_); | ||