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)