From: Vadim Z. <vz...@ze...> - 2014-01-07 20:02:11
|
On Tue, 07 Jan 2014 19:37:23 +0000 William S Fulton <ws...@fu...> wrote: WSF> Vadim, I think we should use your suggestion. Correct me if I'm wrong, WSF> but I'm going to repeat what you said and expand a little: WSF> WSF> - Default is to wrap C nested structs for all languages (they always WSF> result in global proxy classes). WSF> - Default is to not provide any wrappers for the C++ nested classes for WSF> languages that have not yet implemented nested class wrappers (so WSF> currently all languages except Java and C#). If a user uses WSF> theflatnested feature then a global proxy class will be generated. WSF> - When a language adds support for C++ nested classes, the default will WSF> change to generate the nested class. This support can be added in any WSF> minor version as nothing will be broken because the nested class will WSF> have been previously ignored and so only additional functionality will WSF> be generated. Also any class previously 'unignored' via the flatnested WSF> feature will generate the same code to prior 3.0.0 and later releases. Yes, this summarizes it perfectly, sorry for not having been clear enough in my initial reply. The only small additional point I'd like to add: - For languages which don't support nested classes at all (I don't know if there are such languages though?), nested C++ classes could be wrapped as global proxy classes as nothing else can be done for them anyhow. WSF> I don't like the fact that nested classes will be ignored by default by WSF> the majority of languages, but it is probably the best compromise as WSF> backwards compatibility is rather important and it is easy to use the WSF> flatnested feature to bring them to life in the short term. Of course, it would be better if full nested support just worked for all the languages, but IMO this is unlikely to happen any time soon. And the above [still] looks like the next best thing to do [to me]. Regards, VZ |