Merge branch 'nested' - nested structs/classes support
* nested: Deprecation of the 'nestedworkaround' feature Ensure -c++out is not used with -c++ Add missing header to new source file Nested C class setters restored in c++out mode for Octave Classprefix fixed after private nested classes some comments and spaces added Fix template partial specialization detection Minor tweaks in Swig_feature_set Swig_offset_string moved to misc.c nested private classes are discarded while parsing nested relate functions are moved to nested.cxx and renamed accordingly out-of-scope template definitions fixed nested_private test disabled again fixed out-of-scope nested class definitions, added a test enabled nested C structs assignment (still disabled for Octave), added Java runtime test fixed nested_private test case for Java & C# Testcase of private nested class usage causing segfault C nested struct passed by value example Add in Travis testing for nested branch Add C++ nested class example Minor code improvements Cosmetics/code beautification of nested class support Nested classes support
This commit is contained in:
commit
314fae460b
61 changed files with 2438 additions and 1127 deletions
|
|
@ -25,5 +25,21 @@ void setValues(struct Outer *outer, int val) {
|
|||
outer->inside4[0].val = val * 4;
|
||||
outer->inside5 = &outer->inside3;
|
||||
}
|
||||
|
||||
int getInside1Val(struct Outer *n) { return n->inside1.val; }
|
||||
%}
|
||||
|
||||
/*
|
||||
Below was causing problems in Octave as wrappers were compiled as C++.
|
||||
Solution requires regenerating the inner struct into
|
||||
the global C++ namespace (which is where it is intended to be in C).
|
||||
*/
|
||||
%inline %{
|
||||
int nestedByVal(struct Named s);
|
||||
int nestedByPtr(struct Named *s);
|
||||
%}
|
||||
%{
|
||||
int nestedByVal(struct Named s) { return s.val; }
|
||||
int nestedByPtr(struct Named *s) { return s->val; }
|
||||
%}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue