From c467671ae8b6ec161c17e86f3383fd0625f755b8 Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Fri, 19 Aug 2022 19:48:10 -0400 Subject: remove sol2 (will re-add as submodule) --- lib/sol2/docs/source/api/nested.rst | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 lib/sol2/docs/source/api/nested.rst (limited to 'lib/sol2/docs/source/api/nested.rst') diff --git a/lib/sol2/docs/source/api/nested.rst b/lib/sol2/docs/source/api/nested.rst deleted file mode 100644 index 5d7fa87..0000000 --- a/lib/sol2/docs/source/api/nested.rst +++ /dev/null @@ -1,23 +0,0 @@ -nested -====== - - -.. code-block:: cpp - - template - struct nested { - T& value() &; - const T& value() & const; - T&& value() &&; - }; - - -``sol::nested<...>`` is a template class similar to :doc:`sol::as_table`, but with the caveat that every :doc:`container type<../containers>` within the ``sol::nested`` type will be retrieved as a table from lua. This is helpful when you need to receive C++-style vectors, lists, and maps nested within each other: all of them will be deserialized from lua using table properties rather than anything else. - -Note that any caveats with Lua tables apply the moment it is serialized, and the data cannot be gotten out back out in C++ as a C++ type. You can deserialize the Lua table into something explicitly using the ``sol::as_table_t`` marker for your get and conversion operations using sol. At that point, the returned type is deserialized **from** a table, meaning you cannot reference any kind of C++ data directly as you do with regular userdata/usertypes. *All C++ type information is lost upon serialization into Lua.* - -The example provides a very in-depth look at both ``sol::as_table`` and ``sol::nested``, and how the two are equivalent. - -.. literalinclude:: ../../../examples/source/containers_as_table.cpp - :linenos: - :lines: 1-30,56-61,63-68,70- -- cgit v1.2.3