sol2/docs/source/api/nested.rst

17 lines
731 B
ReStructuredText
Raw Normal View History

nested
======
.. code-block:: cpp
template <typename T>
struct nested {
T source;
};
``sol::nested<...>`` is a template class similar to :doc:`sol::as_table<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.
The `example`_ provides a very in-depth look at both ``sol::as_table<T>`` and ``sol::nested<T>``, and how the two are equivalent.
.. _example: https://github.com/ThePhD/sol2/blob/develop/examples/containers_as_table.cpp