Jean Jean-Philippe Barette-LaPierre wrote: > > > On Fri, Nov 14, 2008 at 4:12 PM, Piotr Dobrogost <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > Jean > > Using Easy::setOpt is not as convenient as it should be. > > Now we have > > std::string address = "http://example.com" > // Setting the URL to retrive. > request.setOpt(new cURLpp::Options::Url(address)); > > Could we do better? > > std::string url = "http://example.com" > // Setting the URL to retrive. > request.set<url>(address); > > > Well... No... The thing is setOpt wouldn't be able to distinguish > between different "string" options (Url, Proxy, Interface, etc). However:
I know you use this scheme to be able to make this distinction. The point is that passing an option type as template's argument to set<typename T> gives the same information like passing an option type as a type of the argument of function. The question is what does wrapping arguments of setOpt in the Options::X type give us? Later on it's convenient to have all options' types be derived from one base class (OptionBase) to treat them polymorphically in containers and alghorithms . But in the moment of setting an option using setOpt we don't really need this and we shouldn't force users to wrap all these values only to give them to setOpt method. What do you think? Regards Piotr Dobrogost _______________________________________________ cURLpp mailing list cURLpp@rrette.com http://www.rrette.com/mailman/listinfo/curlpp