I have for a while suspected a problem with the serialization of an „enum class“ item (currently with Boost 1.61 on Ubuntu 16.04), and have written a small test program to further examine any potential problems. While the generated XML looks fine and I cannot see any problems with the enum class, my custom, free-standing „serialize“ function does not get called.
Boost.Serialization automatically converts an enum into an int before
it is serialized.