%Module fun 0

class OuterClass
{
%TypeHeaderCode
#include "tester.h"
%End
public:
    struct Inner
    {
        int x;
    };
    OuterClass();
    ~OuterClass();
    Inner inner;
%GetCode
    sipPy = sipConvertFromType(&sipCpp->inner,sipType_OuterClass_Inner, NULL);

    // if user is not null, we got an already created sipPy with the
    // user pointer already set to the containing class
    if (((sipSimpleWrapper *)sipPy)->user == NULL)
    {
        PyObject *outerPy = sipConvertFromType(sipCpp,sipType_OuterClass, NULL);
        ((sipSimpleWrapper *)sipPy)->user = outerPy;
    }
%End
 }; 
