Hi Dirk, On Samstag, 18. November 2017 16:53:43 CET Dirk Hohndel wrote: > > On Nov 18, 2017, at 12:02 AM, Berthold Stoeger > > <bstoe...@mail.tuwien.ac.at> wrote: > > Side note: Unfortunately, in some cases representations in pref and > > SettingsObjectWrapper differ. :( > > Yes - and in most cases I think there are good reasons for that. char * vs > QString for example
Oh, I didn't count those as different. For me these are different representations of the same thing (a string). I was talking about gems like setBuehlmann(), where one side saves a bool and the other one an enum. Or setUnitSystem() where a string on one side is an enum on the other, etc. :( > > Note that this is really only a quick proof of concept and I probably > > introduced numerous bugs. But if you think this is a good idea, I can try > > to go over each case and check it for plausibility. > > The scary part (for me) is that you are using C++ constructs outside of my > comfort zone. I have always pushed back when Tomaz went into what I > consider C++-lala-land. > I think I mostly understand what the template does and how the namespace > is used, but I realize that I'd be uncomfortable editing this code without > some serious Googling and that makes me nervous. Note that the template stuff was simply born out of laziness. But it turned out to be convenient because enums in C++ are not auto-converted into integers (don't know the situation in C). The first template takes care of these cases. The two other templates can be replaced by specialized functions. Also note that I myself am not versed at all with templates. The anonymous namespace thing is C++'s way of hiding something from other translation units. Because static has a different meaning for member- functions, it's a necessity for these. But template functions can be made static, so I'll simply remove it. But as I said, it's just a proof of concept. Maybe someone has a better idea? Berthold _______________________________________________ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface