Lua-API++  2015-02-12-3
Lua-API++ library
Compatibility

The library supports several Lua versions listed below. By default the library selects the most recent API version known to it.

Lua 5.1

Also compatible with LuaJIT. Turned on with LUAPP_COMPATIBILITY_V51 macro.

Lua 5.2

Turned on with LUAPP_COMPATIBILITY_V52.

Differences to mode 5.1:

Lua 5.3

Turned on by default or with LUAPP_COMPATIBILITY_V53.

Differences to mode 5.2:

NRVO compiler capability

NRVO is a compiler feature, extension of RVO (return value optimization). RVO in short means that if a function returns anonymous value, it won't be copied into result but rather constructed in-place. NRVO (named RVO) means that same thing can be done with named variable. This feature, if supported by compiler, allows to return anchors from functions by value. Some tests and getUpvalues function depend on it and will be disabled if LUAPP_COMPATIBILITY_NO_NRVO macro is used.