.. _lua_pololist_mcpp: PoloList.mcpp Source Code --------------------- .. code-block:: c++ ~import std::exception; ~import boost::format; ~import Macaroni::Lua::LuaClass; ~import Macaroni::Lua::LuaFunction; ~import Macaroni::Lua::LuaGlueCode; ~import Macaroni::Lua::LuaIncludes; ~import Macaroni::Lua::LuaIndexExtraCode; ~import Macaroni::Lua::LuaOperator; ~import Macaroni::Lua::LuaProperty; ~import Macaroni::Tests::Lua::Polo; ~import Macaroni::Tests::Lua::PoloPtr; ~import boost::shared_ptr; ~import Macaroni::Tests::Lua::PoloList; namespace Macaroni::Tests::Lua { typedef shared_ptr PoloListPtr @LuaClass [ SameAsNode = PoloList ] ; typedef std::vector PoloList @LuaClass [ ReferenceType=PoloListPtr ] @LuaIncludes ={ #include #include } @LuaIndexExtraCode ={ const auto listIndex = luaL_checknumber(L, 2) + 1; PoloList & list = *instance; PoloPtr element = list[listIndex]; PoloLuaMetaData::PutInstanceOnStack(L, element); return 1; } ; }