Back to Piccolo

metatable_key

engine/3rdparty/sol2-3.3.0/documentation/source/api/metatable_key.rst

0.0.9673 B
Original Source

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 :name: sol-metatable_key-eg :linenos: