You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Thiruvalluvan M. G. (Jira)" <ji...@apache.org> on 2021/02/23 11:54:00 UTC

[jira] [Created] (AVRO-3051) Modernize C++ implementation

Thiruvalluvan M. G. created AVRO-3051:
-----------------------------------------

             Summary: Modernize C++ implementation
                 Key: AVRO-3051
                 URL: https://issues.apache.org/jira/browse/AVRO-3051
             Project: Apache Avro
          Issue Type: Improvement
            Reporter: Thiruvalluvan M. G.
            Assignee: Thiruvalluvan M. G.


We have mandated C++11 in out builds. But the code itself is mostly C++98 or C++03 style. Thanks to C++ backward compatibility, it works well. But moving to "modern C++" (in the sense used by [Scott Meyers|[https://learning.oreilly.com/library/view/effective-modern-c/9781491908419/],] will make the code more compact, more readable and in some cases even faster.

In this ticket I intend to introduce a series of pull requests modernizing the C++ implementation. I'll take extra care to keep the interface to the users the same. So most of the changes will be in the {{impl}} directory. The {{api}} directory may change a bit but will not break the current clients.

For the initial round, we'll continue make it compile against C++11 standard. We can reap even more benefits by moving to something like C++17. But that is for another day.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)