Konrad Grochowski created THRIFT-2717:
-----------------------------------------

             Summary: C++11 generator
                 Key: THRIFT-2717
                 URL: https://issues.apache.org/jira/browse/THRIFT-2717
             Project: Thrift
          Issue Type: New Feature
          Components: C++ - Compiler
            Reporter: Konrad Grochowski


instead of adding another set of options to 'old' cpp generator I've started 
creating new one in:
https://github.com/hcorg/thrift/tree/cpp11_generator
using old as an reference

main goals:
 * 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)

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
(v6.3.4#6332)

Reply via email to