[ https://issues.apache.org/jira/browse/THRIFT-676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Reiss resolved THRIFT-676. -------------------------------- Fix Version/s: 0.5 Resolution: Fixed > Change C++ code generator so that generated classes can be wrapped with SWIG > ---------------------------------------------------------------------------- > > Key: THRIFT-676 > URL: https://issues.apache.org/jira/browse/THRIFT-676 > Project: Thrift > Issue Type: Improvement > Components: Compiler (C++) > Affects Versions: 0.3 > Environment: Any C++ > Reporter: Rush Manbert > Fix For: 0.5 > > Attachments: patchThrift-676.txt > > > There are times when it would be beneficial to wrap Thrift-generated C++ > classes with the SWIG tool (http://www.swig.org). This is a problem, though, > because SWIG does not yet handle nested class or structure definitions and > the C++ code generator defines the __isset structure within the scope of the > class definition to which it pertains. > In order to make the Thrift-generated classes wrappable by SWIG, the __isset > structure definition needs to be moved outside of the class definition. For a > Thrift generated class called foo, the __isset definition would look like > this: > typedef struct _foo__isset { > _foo__isset() : member0(false), member1(false) {} > bool member0; > bool member1; > } _foo__isset; > and the using class would contain this line: > _foo__isset __isset; > All existing code will continue to work, and can be regenerated at will. > I have a patch for this. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.