Does boost have an abstract factory? I’m reading through Alexandrescu’s “Modern C++ Design” and finding the idea neat, and I’m surprised to not find an equivalent in boost. Or alternately, is there another preferred solution?