Re: How to get the attributes of a lua class, without their names, using luabind
Pavel Kovalenko <[email protected]> Fri, 11 Dec 2015 19:57:45 +0300
| Newsgroups | gmane.comp.lang.lua.bind.user |
|---|---|
| Message-ID | <[email protected]> |
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, [email protected] wrote: > Send luabind-user mailing list submissions to > [email protected] > > 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 > [email protected] > > You can reach the person managing the list at > [email protected] > > 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 <[email protected]> > Subject: Re: [luabind] How to get the attributes of a lua class > without their names, using luabind > To: [email protected] > Message-ID: <[email protected]> > 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 > [email protected] > https://lists.sourceforge.net/lists/listinfo/luabind-user > > > End of luabind-user Digest, Vol 94, Issue 1 > ******************************************* > > -- Best regards, Pavel Kovalenko. ------------------------------------------------------------------------------