On Monday, 25 June 2012 at 20:31:18 UTC, Walter Bright wrote:
On 6/25/2012 8:26 AM, Manu wrote:
I suspect this isn't possible in a compiled language like D, but I wonder anyway, has anyone considered partial classes in D? Are they technically possible? How would they work? Would it depend on link-time code generation? I can imagine an implementation where each 'part' occupies a separate allocation, and some pointer in Object or somewhere like that (somewhere near
the typeinfo pointer) binds them together.

Are you talking about adding fields/functions to an arbitrary class without modifying the original definition of that class?

If so, this would violate principles of encapsulation, and there'd be terrible consequences (as you could not rely on the class definition being the class definition without examining the entire code base).

But, you can use UFCS to "add" member functions to an existing class.

Adding data members can be done using the PIMPL technique, string mixins, or template mixins (but the original class needs to be designed for that).

He's talking about this: http://msdn.microsoft.com/en-us/library/wa80x488(v=vs.80).aspx.

Reply via email to