digitalmars.D - clear() not implemented as object method?
- Thomas Mader (9/9) Mar 18 2011 I just wondered why clear() which is there to call the desctructor of an...
- Steven Schveighoffer (5/13) Mar 18 2011 It's a template that handles any type, class object, struct instance, in...
- Jesse Phillips (2/19) Mar 18 2011 also b.clear() is a Container function for emptying the container.
I just wondered why clear() which is there to call the desctructor of an object is implemented as a module function instead of being an object method in object_d. Is there a technical reason for it I don't recognise? unittest { auto b = new Buffer; clear(b); // Wouldn't b.clear() be nicer? } Thomas
Mar 18 2011
On Fri, 18 Mar 2011 13:13:27 -0400, Thomas Mader <thomas.mader gmail.com> wrote:I just wondered why clear() which is there to call the desctructor of an object is implemented as a module function instead of being an object method in object_d. Is there a technical reason for it I don't recognise? unittest { auto b = new Buffer; clear(b); // Wouldn't b.clear() be nicer? }It's a template that handles any type, class object, struct instance, int, float, etc. -Steve
Mar 18 2011
Steven Schveighoffer Wrote:On Fri, 18 Mar 2011 13:13:27 -0400, Thomas Mader <thomas.mader gmail.com> wrote:also b.clear() is a Container function for emptying the container.I just wondered why clear() which is there to call the desctructor of an object is implemented as a module function instead of being an object method in object_d. Is there a technical reason for it I don't recognise? unittest { auto b = new Buffer; clear(b); // Wouldn't b.clear() be nicer? }It's a template that handles any type, class object, struct instance, int, float, etc. -Steve
Mar 18 2011