From 405afbb72d5546046b04c156fd633937a2b01c51 Mon Sep 17 00:00:00 2001 From: Sandu Liviu Catalin Date: Mon, 15 Mar 2021 07:00:34 +0200 Subject: [PATCH] Update sqratTypes.h --- module/Sqrat/sqratTypes.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/module/Sqrat/sqratTypes.h b/module/Sqrat/sqratTypes.h index 06566c8e..d1e94468 100644 --- a/module/Sqrat/sqratTypes.h +++ b/module/Sqrat/sqratTypes.h @@ -610,6 +610,44 @@ struct Var { } }; +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/// Used to get and push nullptr values to and from the stack +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +template<> +struct Var { + std::nullptr_t value; ///< The actual value of get operations + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /// Attempts to get the value off the stack at idx as a nullptr_t + /// + /// \param vm Target VM + /// \param idx Index trying to be read + /// + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + Var(HSQUIRRELVM SQ_UNUSED_ARG(vm), SQInteger SQ_UNUSED_ARG(idx)) { } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /// Called by Sqrat::PushVar to put a nullptr_t on the stack + /// + /// \param vm Target VM + /// + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + static void push(HSQUIRRELVM vm) { + sq_pushnull(vm); + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /// Called by Sqrat::PushVar to put a nullptr_t on the stack + /// + /// \param vm Target VM + /// \param value Value to push on to the VM's stack + /// + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + static void push(HSQUIRRELVM vm, std::nullptr_t SQ_UNUSED_ARG(value)) { + sq_pushnull(vm); + } +}; + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// Used to get and push SQChar arrays to and from the stack (usually is a char array) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////