diff --git a/include/sol/variadic_results.hpp b/include/sol/variadic_results.hpp index e8784aa6..b604071f 100644 --- a/include/sol/variadic_results.hpp +++ b/include/sol/variadic_results.hpp @@ -70,10 +70,16 @@ namespace sol { using base_t::base_t; }; + template + struct is_container> : std::false_type {}; + + template <> + struct is_container : std::false_type {}; + namespace stack { template struct unqualified_pusher> { - int push(lua_State* L, const variadic_results& e) { + int push(lua_State* L, const basic_variadic_results& e) { int p = 0; for (const auto& i : e) { p += stack::push(L, i); @@ -81,6 +87,14 @@ namespace sol { return p; } }; + + template <> + struct unqualified_pusher { + int push(lua_State* L, const variadic_results& r) { + using base_t = basic_variadic_results<>; + return stack::push(L, static_cast(r)); + } + }; } // namespace stack } // namespace sol diff --git a/single/include/sol/forward.hpp b/single/include/sol/forward.hpp index 0a720fc9..89c42b3e 100644 --- a/single/include/sol/forward.hpp +++ b/single/include/sol/forward.hpp @@ -20,8 +20,8 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // This file was generated with a script. -// Generated 2019-07-01 06:13:08.602308 UTC -// This header was generated with sol v3.0.2 (revision b08387d) +// Generated 2019-07-01 09:44:31.228110 UTC +// This header was generated with sol v3.0.2 (revision 1ab57fc) // https://github.com/ThePhD/sol2 #ifndef SOL_SINGLE_INCLUDE_FORWARD_HPP diff --git a/single/include/sol/sol.hpp b/single/include/sol/sol.hpp index ac496320..0d6cbb32 100644 --- a/single/include/sol/sol.hpp +++ b/single/include/sol/sol.hpp @@ -20,8 +20,8 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // This file was generated with a script. -// Generated 2019-07-01 06:13:07.719429 UTC -// This header was generated with sol v3.0.2 (revision b08387d) +// Generated 2019-07-01 09:44:30.937884 UTC +// This header was generated with sol v3.0.2 (revision 1ab57fc) // https://github.com/ThePhD/sol2 #ifndef SOL_SINGLE_INCLUDE_HPP @@ -25733,10 +25733,16 @@ namespace sol { using base_t::base_t; }; + template + struct is_container> : std::false_type {}; + + template <> + struct is_container : std::false_type {}; + namespace stack { template struct unqualified_pusher> { - int push(lua_State* L, const variadic_results& e) { + int push(lua_State* L, const basic_variadic_results& e) { int p = 0; for (const auto& i : e) { p += stack::push(L, i); @@ -25744,6 +25750,14 @@ namespace sol { return p; } }; + + template <> + struct unqualified_pusher { + int push(lua_State* L, const variadic_results& r) { + using base_t = basic_variadic_results<>; + return stack::push(L, static_cast(r)); + } + }; } // namespace stack } // namespace sol