Michael Sherman
Michael Sherman
The apt-gettable binary for Simbody 3.4 was built using C++03. The gcc ABIs for C++03 and C++11 are not compatible, so it is *possible* that specifying c++11 here is the...
> std::is_null_pointer is C++14, not C++11 Removed check for now. Should pass on Linux and OSX now; still one mysterious test failure on Windows.
I investigated the Windows failure. It appears to be a problem with the Visual Studio linker not correctly generating a single copy of each `Value` class so that its static...
> Ah I know very little about that stuff, but would extern help? Can't be extern because `Value` is templatized and thus has to be defined in headers. The linker...
> Maybe it is desirable to prefer a free function (that is, template specialization of toXmlElement()) over a member function) if both exist. No, as explained in the Unified Call...
> Drawing a parallel to std::begin() and std::end() ... Coincidentally that is also discussed in the Unified Call Syntax doc, where it was mostly described as a hack for range-for;...
> Now, the functionality has silently changed. Hmmm ... any time someone changes the code of a class you are using the behavior can change! Hopefully the author took seriously...
- It's complaining about the stream insertion operator because that is used by default to serialize when there is no toXmlElement() available. Actually it is more contorted than that because...
> One way to get rid of the name toXmlElementHelper is to rename toXmlElement to toXmlElementImpl, to signify this is the implementation of a function that does the conversion, freeing...
Well, I'm more confused now! What I want to achieve is `Xml::Element = state.toXmlElement()` and `state.fromXmlElement(element)`. Those are problematic because States contain `AbstractValue` objects, whose underlying `Value` objects can be...