class Base:

        __namespace__ = 'seal::reflex'
        __headers__ = ['Reflex/Base.h']
        __has_vtable__ = False

        toType = Method('Type')
        offset = Method('int')
    class TypeTemplate:

        __namespace__ = 'seal::reflex'
        __headers__ = ['Reflex/TypeTemplate.h']

        name = Method('string int')

        instantiation = Method('Type int')
        instantiationCount = Method('int')
    class type_info:

        "C++'s std::type_info"

        __namespace__ = 'std'
        __headers__ = ['typeinfo']
        __has_vtable__ = False

        name = Method('string')
    class GenericFunction:

        __namespace__ = ''
        __headers__ = []  #['Caux.h']

        __init__ = Constructor('GenericFunction* string')
        add_method = Method('void Member')
        __call__ = PythonFunction()
        __get__ = FunnyPythonFunction()
    class Member:

        __namespace__ = 'seal::reflex'
        __headers__ = ['Reflex/Member.h']
        __has_vtable__ = False

        name = Method('string')
        type = Method('Type')
        isConstructor = Method('bool')
        isDestructor = Method('bool')

        parameterCount = Method('int bool')

        isTemplateInstance = Method('bool')
        templateArgument = Method('Type int')
        templateArgumentCount = Method('int')
    class Type:

        "reflex::Type"

        __namespace__ = 'seal::reflex'
        __headers__ = ['Reflex/Type.h']
        __has_vtable__ = False

        byName = StaticMethod('Type string')
        type = StaticMethod('Type int')
        typeCount = StaticMethod('int')

        base = Method('Base int')
        baseCount = Method('int')

        name = Method('string int')

        typeTypeAsString = Method('string')

        id = Method('voidstar')
        typeType = Method('TYPE')

        typeInfo = Method('type_info&')

        isClass = Method('bool')

        member = Method('Member int')
        memberCount = Method('int')

        toType = Method('Type')
        sizeOf = Method('int')

        isReference = Method('bool')
        isPointer = Method('bool')
        isTypedef = Method('bool')
        isClass = Method('bool')

        parameter = Method('Type int')
        parameterCount = Method('int')
        returnType = Method('Type')

        templateArgument = Method('Type int')
        templateArgumentCount = Method('int')
    class Scope:

        __namespace__ = 'seal::reflex'
        __headers__ = ['Reflex/Scope.h']
        __has_vtable__ = False

        byName = StaticMethod('Scope string')
        id = Method('voidstar')
        scopeType = Method('TYPE')

        member = Method('Member int')
        memberCount = Method('int')

        functionMember = Method('Member int')
        functionMemberCount = Method('int')

        dataMember = Method('Member int')
        dataMemberCount = Method('int')

        subScope = Method('Scope int')
        subScopeCount = Method('int')

        subType = Method('Type int')
        subTypeCount = Method('int')

        memberTemplate = Method('MemberTemplate int')
        memberTemplateCount = Method('int')

        typeTemplate = Method('TypeTemplate int')
        typeTemplateCount = Method('int')

        name = Method('string int')

        isClass = Method('bool')
        isNamespace = Method('bool')
        isEnum = Method('bool')
        isUnion = Method('bool')