I am for moving to C++11.
In addition to replacing auto_ptr with unique_ptr, we can get a few more things 
moved. E.g. boost::any to std::any, which has small buffer optimization. We can 
also replace ref counted boost pointers with those in std::.
However, there is one hitch. The C++ API directly exposes auto_ptr (and 
possibly boost::any) instead of typedef'ing them in avro namespace. So almost 
all C++ users of Avro 1.8.x and before will have to modify their sources in 
order to compile with 1.9.0. This problem is not going to go away, so we should 
swallow it some time. Let it be 1.9.0. It will be worthwhile to publish a 
migration guide.
Thank you,
Thiru    On Tuesday, 4 December, 2018, 1:55:37 AM IST, Daniel Kulp 
<dk...@apache.org> wrote:  
 
 
I’m trying to look at PR’s and have run into:

https://github.com/apache/avro/pull/203 
<https://github.com/apache/avro/pull/203>
vs
https://github.com/apache/avro/pull/157 
<https://github.com/apache/avro/pull/157>

At this point, I’m leaning more toward 157 and updating 1.9 to require C++11.  
It’s technically an incompatible change, but it’s required to be able to 
compile with C++17.  203 uses the boost libraries to still allow C++03, but 
it’s still incompatible.  Thus, if we’re moving forward with 1.9, I’d rather go 
with the cleaner C++11 level.

Thoughts?

-- 
Daniel Kulp
dk...@apache.org <mailto:dk...@apache.org> - http://dankulp.com/blog 
<http://dankulp.com/blog>
Talend Community Coder - http://talend.com <http://coders.talend.com/>  

Reply via email to