boost::type_erasure::assignable
// In header: <boost/type_erasure/builtin.hpp> template<typename T = _self, typename U = T> struct assignable { // public static functions static void apply(T &, const U &); };
Enables assignment of any types.
assignable
static void apply(T & dst, const U & src);