Hi,
Well it's weird but I don't remember the exact fork I'm using, I think I
use this one
https://github.com/mrsharpoblunto/LHP/tree/master/luabind-0.7/include/luabind
I do not use the official release because I had some problems related to
size_t & x64 builds, and this fork solved it.
Here is the c++ code, please note that at this point I'm 100% sure the
object on the stack is the "self" of my class instance
//get the luabind object from the stack
luabind::object o(luabind::from_stack(L, lastIndex));
for (luabind::iterator i(o), end; i != end; ++i)
{
try
{
std::string strKey = luabind::object_cast<std::string>(i.key());
printf("%s\n",strKey.c_str());
}
catch(luabind::cast_failed & e)
{
printf("error\n");
}
}
----------
As a result, it simply prints "error" indefinitely.
Thanks.
On 11/12/2015 17:57, Pavel Kovalenko wrote:
> Hi,
>
> I don't have such problem (using luabind-deboostified fork). Could you
> show the code which causes an infinite loop? Which fork do you use?
>
> On 12/11/2015 3:00 PM, lua...@li... wrote:
>> Send luabind-user mailing list submissions to
>> lua...@li...
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>> https://lists.sourceforge.net/lists/listinfo/luabind-user
>> or, via email, send a message with subject or body 'help' to
>> lua...@li...
>>
>> You can reach the person managing the list at
>> lua...@li...
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of luabind-user digest..."
>>
>>
>> Today's Topics:
>>
>> 1. Re: How to get the attributes of a lua class without their
>> names, using luabind (Crashy)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Thu, 10 Dec 2015 05:07:38 -0700 (MST)
>> From: Crashy <jea...@la...>
>> Subject: Re: [luabind] How to get the attributes of a lua class
>> without their names, using luabind
>> To: lua...@li...
>> Message-ID: <144...@n2...>
>> Content-Type: text/plain; charset=us-ascii
>>
>> Hi !
>>
>> I hate to 'bump' very old topics, but I'm facing the same problem while
>> writing a lua debugger.
>> I can access values by name, but using the iterator results in an infinite
>> loop.
>> Iterators are doing well when the object is a simple table though, it only
>> fails when the object is a luabind class.
>>
>> Does anybody has a solution to iterate over member variables of a luabind
>> class ?
>>
>> Thanks !
>>
>>
>> Thibault Ehrhart wrote
>>> Hello everyone,
>>>
>>> I have a Lua class (defined using luabind's 'class' keyword) and I'd like
>>> to get the value of the attributes defined in Lua, with C++.
>>>
>>> In the code below, I've defined a class, created an instance "foo" and set
>>> a custom attribute "bar" to that instance. Finally, I am calling a C++
>>> function which has to print the attributes of the instance passed as a
>>> parameter.
>>>
>>> Here's the Lua code :
>>>
>>> class 'MyLuaClass'
>>> function MyLuaClass:__init() end
>>>
>>> foo = MyLuaClass()
>>> foo.bar = "baz";
>>> PrintAttributes(foo);
>>>
>>> And now the C++ code of the PrintAttributes function, obj is a class
>>> instance:
>>>
>>> void PrintAttributes(luabind::object &obj)
>>> {
>>> // Direct access works
>>> std::cout << obj["bar"] << std::endl; // Will print "baz" :-)
>>>
>>> // But what if I don't know the name of the variable(s)?
>>> for (luabind::iterator it(obj); it != luabind::iterator(); ++it)
>>> {
>>> // Doesn't work since obj is an userdata
>>> }
>>> }
>>>
>>> I've also tried to use class_info but it only works with properties
>>> defined
>>> in a C++ class. Is there a way to access those defined with Lua?
>>>
>>> Regards,
>>
>>
>>
>>
>> --
>> View this message in context: http://lua.2524044.n2.nabble.com/How-to-get-the-attributes-of-a-lua-class-without-their-names-using-luabind-tp7654070p7670726.html
>> Sent from the Lua C++ Bind mailing list archive at Nabble.com.
>>
>>
>>
>> ------------------------------
>>
>> ------------------------------------------------------------------------------
>>
>>
>> ------------------------------
>>
>> _______________________________________________
>> luabind-user mailing list
>> lua...@li...
>> https://lists.sourceforge.net/lists/listinfo/luabind-user
>>
>>
>> End of luabind-user Digest, Vol 94, Issue 1
>> *******************************************
>>
>>
|