Done in Boost.