AFAIR, variant's are serializable, but you will need to predefine the set of storable types. Do you really need a boost::any like level of heterogeneity ?