
David Abrahams wrote:
The problem of building customization points for generic C++ libraries has no really satisfying solution at the moment. Any approach we choose will be a compromise. It isn't clear to me why this particular compromise should be deemed worse than any of the others.
I have a similar choice to make regarding customization points for Iostreams. Currently, the user can customize boost::iostreams::read(), boost::iostreams::write(), etc. for a type T by specializing the class template boost::iostreams::operations. I'm considering switching to an ADL-based mechanism in which users define functions boost_iostreams_read, boost_iostreams_write, etc. I haven't documented the customization mechanism yet because I'm waiting for agreement on the design of Boost.Range and I think it would be beneficial to have a uniform policy. Personally, I don't really care which solution is adopted, but I'm eager for the problem to be resolved soon so library users can take advantage of customization. Jonathan