Commits


Felipe Oliveira Carvalho authored and GitHub committed 9fb11293678
GH-43258: [C++][Flight] Use a Base CRTP type for the types used in RPC calls (#43255) ### Rationale for this change Flight should eventually be buildable without a specific protobuf version. As such, all the protobuf types are wrapped in hand-written classes. Uniformity of the interface is not enforced even though it's desirable. Extending the interface requires adding functions to every struct. A common base class can mitigates risks and reduce the amount of hand-written code. ### What changes are included in this PR? - Definition of a BaseType<> template (a CRTP) - Add constructors that aren't implicitly defined anymore - Having a default value for some fields that would be undefined values otherwise - Leverage this structure to add `SerializeToBuffer` to all the types - ~30KiB in binary size reduction ### Are these changes tested? By existing tests. * GitHub Issue: #43258 Authored-by: Felipe Oliveira Carvalho <felipekde@gmail.com> Signed-off-by: Felipe Oliveira Carvalho <felipekde@gmail.com>