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