Hi,
I have a C++ class with a member function that return a reference to an
object contained in the class. For example:
MyClass {
public:
OtherClass & GetObject(unsigned int i) { return objects[i]; }
private:
std::vector<OtherClass> objects;
}
However, it seems that when binding the GetObject member function with
embind and calling it from Javascript, the returned object is a copy and
not a reference/pointer to the original object.
I was able to work around the problem by creating a wrapper, like this:
OtherClass * MyClass_GetObject(MyClass & c, unsigned int i) { return
&c.GetObject(i); }
and then using it with embind (with allow_raw_pointers()). Using this
solution, it works like a charm (the object return when calling getObject
from Javascript is a reference to the original object, so I can modify it
and the internal object contained inside MyClass is modified), but I was
wondering if there was another way of doing it, i.e directly with the
original function using the reference, without writting "wrappers"
functions to force embind to use pointers?
In any case, many thanks for emscripten, it's just awesome!
Best regards,
Florian
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.