Boost.Any c'est sympa mais au final on tombe sur des problèmes de ce genre là.
Du coup moi je préfère deux approches:

type maison avec erasure et visitor. C'est à dire un type de base maison,...