mirror of
https://github.com/ThePhD/sol2.git
synced 2024-03-22 13:10:44 +08:00
486086ffe0
notably, test normal + single + generated + Lua 5.3.5 only once, then only run the runtime_test and compile_test for normal for all other permutations to help increase text matrix throughput
16 lines
645 B
ReStructuredText
16 lines
645 B
ReStructuredText
metatable_key
|
|
=============
|
|
*a key for setting and getting an object's metatable*
|
|
|
|
|
|
.. code-block:: cpp
|
|
|
|
struct metatable_key_t {};
|
|
const metatable_key_t metatable_key;
|
|
|
|
You can use this in conjunction with :doc:`sol::table<table>` to set/get a metatable. Lua metatables are powerful ways to override default behavior of objects for various kinds of operators, among other things. Here is an entirely complete example, showing getting and working with a :doc:`usertype<usertype>`'s metatable defined by Sol:
|
|
|
|
.. literalinclude:: ../../../examples/source/metatable_key_low_level.cpp
|
|
:caption: messing with metatables
|
|
:linenos:
|