[ https://issues.apache.org/jira/browse/THRIFT-3382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14959118#comment-14959118 ]
Nobuaki Sukegawa commented on THRIFT-3382: ------------------------------------------ It seems to me too inconsistent with the existing stack. Making every read/write call virtual is something the rest of C++ stack specifically avoid. I think the reasonable way to implement this feature is to follow what TTransport and TProtocol do. > TBase class for C++ Library > --------------------------- > > Key: THRIFT-3382 > URL: https://issues.apache.org/jira/browse/THRIFT-3382 > Project: Thrift > Issue Type: Bug > Components: C++ - Compiler, C++ - Library > Affects Versions: 0.9.3 > Reporter: Adam Beberg > Assignee: Adam Beberg > Original Estimate: 24h > Remaining Estimate: 24h > > Unlike Other languages, C++ is missing a TBase class (the majority of other > langugaes call it that) that all generated structs always inherit from. This > prevents simple utility functions, and forces ugly template use. > Something like this: > {code:title=thtift/TBase.h} > class TBase { > public: > virtual ~TBase(); > virtual uint32_t read(::apache::thrift::protocol::TProtocol* iprot); > virtual uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)