Hi Wes and Julien,

At this point, parquet-cpp is heavily reliant on C++11 features and semantics. 
Believe it or not :), there are plenty of companies still
running older versions of Linux that do not support C++11. Removing this 
dependency will make parquet-cpp usable (and much more appealing) to them.

We would like to make parquet-cpp C++09 compatible. The end goal is to have a 
library that can compile with and without --std==c++11 flag. There are two 
parts of this process. The first one is to redefine or remove C++11 keywords, 
such as auto, unique_ptr, std::move, or for( : ) loops. The other part is to 
evaluate our use of C++11 features that are harder to replace, such as 
shared_ptr, make_shared(), etc., and either write our own implementation for 
this or modify code where appropriate (such as replace shared_ptr with 
unique_ptr where possible).

We can do this either by maintaining a separate feature branch and periodically 
pulling new code from parquet-cpp; or by implementing the compatibility 
functionality directly in parquet-cpp (all future PRs will be tested for c++09 
compatibility during CI builds).

What are your thoughts on this?

Thank you,
Aliaksei.

Reply via email to