|
MNMLSTC was chosen as an option because one of the major complaints about the old (aka legacy) C++ driver was that it had a hard dependency on boost. Many users struggled to properly link the driver with boost, and then the application with both boost and the driver. We wanted a way to provide a working driver where that was not a prerequisite. Using the header-only MNMLSTC library offered that for users who wanted it. On the other hand, for users who were already using boost, using mnmlstc would have created an inconvenient impedance mismatch, where, for instance the optional that they used in their application was not the same optional that the driver used. Finally, since we expected tha the polyfills we needed would have C+17 versions, it seemed sensible to abstract over the three choices, ensuring that when C+17 arrived, the driver didn't depend on either MNMLSTC or boost.
|