
On Wednesday 23 April 2008 16:44, Daniel Frey wrote:
Peter raised a valid concern about compatibility with TR1 and C++0x. I pointed out that C++0x is not yet standardized, so this is our chance to improve the interface. std::tr1::esft<T> could be derived from std::esft (note, no template). Likewise for boost::tr1::esft<T> and boost::esft. Of course the TR1 implementation needs an additional T* (in my optimized 1.35.0 esft version) or a vtable (in your trunk version), so only the non-TR1-version would benefit.
It isn't my decision, but FWIW I prefer the template-less/free function esft interface too. It's slightly more elegant to have the template type deduced by a free shared_from_this call, than to make the user specify it explicitly as the template parameter to the esft class. -- Frank