jarrett.billingsley at gmail.com
Fri Mar 20 10:31:13 PDT 2009
On Fri, Mar 20, 2009 at 11:35 AM, Trass3r <mrmocool at gmx.de> wrote:
> Got the following code:
> public LuaState wrapClass (T) (T instance)
> auto ptr = cast (T *) newUserdata ( (T *).sizeof);
> *ptr = instance;
> loadClassMetatable (typeid(T).toString);
> setMetatable (-2);
> return this;
> Am I right in assuming that a different wrapClass will be created in the
> final executable for each template instantiation (e.g. calls with class
> A,B,C,... instances) and would thus bloat up the executable a bit when used
> with many classes?
> Apart from that, couldn't you just use wrapClass (Object instance)? In the
> end each class instance pointer takes up the same amount of memory?!
I'd say yes. It doesn't look like there's any need for a template here.
It wouldn't be (Object*).sizeof when allocating the userdata, though;
More information about the Digitalmars-d-learn