A quick look at the binary_data_converter reveals massive chunk of specializations used for parsing different variants of binary data. This was done in order to increase performance while parsing binary table data ( In fact doing this helped us in making the binary data parser fastest among all the HDU table data parsers)
Now that we can use C++14, a compile time switch ( one given here -- real world example section ) can be used for removing the specialization and confining the code to one or two member functions .
This can help us in reducing that chunky code and make maintenance a lot easier!!! 😁
File : https://github.com/BoostGSoC19/astronomy/blob/develop/include/boost/astronomy/io/binary_data_converter.hpp
A quick look at the binary_data_converter reveals massive chunk of specializations used for parsing different variants of binary data. This was done in order to increase performance while parsing binary table data ( In fact doing this helped us in making the binary data parser fastest among all the HDU table data parsers)
Now that we can use C++14, a compile time switch ( one given here -- real world example section ) can be used for removing the specialization and confining the code to one or two member functions .
This can help us in reducing that chunky code and make maintenance a lot easier!!! 😁
File : https://github.com/BoostGSoC19/astronomy/blob/develop/include/boost/astronomy/io/binary_data_converter.hpp