clang-tidy reports (while checking the code that uses boost::lexical_cast)
a virtual function is called in the default constructor of class template
boost::detail::basic_pointerbuf. (Function setbuf() is declared virtual in
base class.) This might be an indication of a bug. If not, I would
recommend using a different construct that avoids confusion, for instance
declaring the function override final in newer versions of C++, or
providing another function with different name but with the same semantics
as the overriding setbuf().