On 14 May 2015 at 18:58, Vinícius dos Santos Oliveira wrote:
Still, many Boost libs are used, like date_time, string algo, string_ref and a few others.
When I reviewed your code I felt most of those uses were easily replaced, and moreover doing so would improve the quality of your code. I hope you don't mind me saying, but I felt some of your choices were you experimenting with fun new tools rather than what was the best solution (which is often the easiest and simplest solution). I'll wait to your community review to go into more detail. I didn't examine Http in too much depth yet.
I'd like to provide support for C++11 system error code too, but Boost's integration isn't so transparent yet.
As I have mentioned to you before, you can ask ASIO to tell you which error code system it uses, moreover ASIO itself can be configured with more than one error code implementation, so you need to pick up whatever it's been configured with. I'd also support standalone ASIO if I were you, and then you'll be ready for the Networking TS. You might consider replicating what AFIO does to use ASIO via APIBind, then you can support Boost.ASIO and the Networking TS with no extra work.
Actually, most of Boost.Http interface could be implemented in C++03 and the only trouble would be a migration path from C++03 enums to C++11 strongly typed enums.
Boost has an excellent C++ 11 enum emulation based on macros. And yes, I agree Http doesn't use a ton of 11 yet. ASIO in many ways forces you to use idioms which are very fast on 03, so the need for 11 isn't as acute. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/