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