Ported to BOOST 1.56