
Boost Users/Developers, I'm writing to gauge interest in an 'abstract factory', very similar to the recently accepted functional/factory. I realise there has been interest in this idea in the past (ctor_fn), but nothing seems to have come of it (that I am aware of). Does anything similar exist? Example code: // // Given an inheritance hierarchy where the base class // constructor has a certain signature... // struct A { A(const string&, int){} virtual ~A(){} }; struct B : public A { B(const string& s, int i) : A(s, i) {} virtual ~B(){} }; // // typedef some factories... // typedef abstract_factory<A*(const string&, int)> AFactory; typedef concrete_factory<AFactory, B*, MyAllocator> BFactory; // // Use them... // AFactory* factory = new BFactory; A* a = (*factory)("a string", 1); // Look ma, temporaries. assert(dynamic_cast<B*>(a)); vector<string> v1; vector<A*> v2; transform(v1.begin(), v1.end(), back_inserter(v2), bind<A*>(ref(*factory), _1, 1234)); The naming of 'abstract_factory' and 'concrete_factory' is reminiscent of the Loki AbstractFactory and ConcreteFactory, as is the idea of passing the abstract_factory as a template parameter into concrete_factory. I'm new to this mailing list as well, so I'm not aware of all previous conversation on this topic. What do you think? Stathi