You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Mikael Lindgren (Jira)" <ji...@apache.org> on 2023/02/07 09:50:00 UTC
[jira] (THRIFT-2717) C++V2 generator/library
[ https://issues.apache.org/jira/browse/THRIFT-2717 ]
Mikael Lindgren deleted comment on THRIFT-2717:
-----------------------------------------
was (Author: mili):
Hi!
I noticed there hasn't been much discussion here recently. Any status updates?
After using thrift for a year now I very much would like to see a version that uses C++11 and without dependencies to boost.
Please let me know if I can be of any assistance.
> C++V2 generator/library
> -----------------------
>
> Key: THRIFT-2717
> URL: https://issues.apache.org/jira/browse/THRIFT-2717
> Project: Thrift
> Issue Type: New Feature
> Components: C++ - Compiler
> Reporter: Konrad Grochowski
> Priority: Major
>
> instead of adding another set of options to 'old' cpp generator I've started creating new one in:
> https://github.com/hcorg/thrift/tree/cpp_v2
> using old as an reference
> main goals (for generator):
> * code compatible with old librart (at least for first tests, new lib and compiler switches can be added later)
> * no more ugly {{__isset}} structure -> boost::optional for optional values
> * as a result - no more {{__}} in names, which violates C++ standard
> * all generation code will have own unit tests (TDD used wherever possible)
> * generated types headers independent from Thrift header, to allow other layers of application using generated types without dependency leaks
> * each type will generate own header/cpp file - easier for user to include only used parts.
> * unordered map/sets
> * returning using move semantics, no more ugly 'return via output parameter' (still possible as option thou - sometimes it's needed for performance)
> * async client using boost::future
> * enum classes
> * initializer lists for constants (maybe)
> main goals (for library):
> * minimizing boost deps
> * using C++11 features to simplify lib
> * be base for new generator
> I'm aiming in C++11 subset available in gcc 4.8 and MSVC 2013
> currently I have only complete enum generation, but work is in progress
> all comments etc are very welcome :)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)