Есть ли способ вернуть итератор STL в std::map
(например, std::map<const std::string, int>
)?
Определение Luabind для примера класса:
class_<SomeClass>( "SomeClass" )
.property( "items", &SomeClass::GetItems, return_stl_iterator )
GetItems()
возвращаетконстантная ссылка на контейнер std::map
.
При доступе к нему в Lua, например:
for item in some_class.items do
...
end
Luabind выдает std :: runtime_error, говоря "Попытка использовать незарегистрированный класс«.Итерирование по std::map
невозможно?(в документации сказано, что все контейнеры, имеющие begin()
и end()
, работают ...)