mirror of https://github.com/swig/swig
146 lines
3.5 KiB
Python
146 lines
3.5 KiB
Python
from cpp11_using_constructor import *
|
|
|
|
|
|
# Public base constructors
|
|
a = PublicDerived1(0, "hi").meth()
|
|
a = PublicDerived2().meth()
|
|
a = PublicDerived2(0, "hi").meth()
|
|
a = PublicDerived3().meth()
|
|
a = PublicDerived3(0, "hi").meth()
|
|
a = PublicDerived4().meth()
|
|
a = PublicDerived5().meth()
|
|
|
|
# Protected base constructors
|
|
# Cannot test most of these as the constructors are protected
|
|
ProtectedDerived5()
|
|
|
|
# Mix of public and overloaded constructors
|
|
MixedDerived1a(0, "hi").meth()
|
|
MixedDerived1a().meth()
|
|
MixedDerived1b(0, "hi").meth()
|
|
MixedDerived1b().meth()
|
|
|
|
MixedDerived2a(0, "hi").meth()
|
|
MixedDerived2a().meth()
|
|
MixedDerived2b(0, "hi").meth()
|
|
MixedDerived2b().meth()
|
|
|
|
MixedDerived2c(0, "hi").meth()
|
|
MixedDerived2c().meth()
|
|
MixedDerived2c(0).meth()
|
|
|
|
MixedDerived2d(0, "hi").meth()
|
|
MixedDerived2d().meth()
|
|
MixedDerived2d(0).meth()
|
|
|
|
MixedDerived3a(0, "hi").meth()
|
|
MixedDerived3a().meth()
|
|
MixedDerived3b(0, "hi").meth()
|
|
MixedDerived3b().meth()
|
|
|
|
MixedDerived3c(0, "hi").meth()
|
|
MixedDerived3c().meth()
|
|
MixedDerived3c(0).meth()
|
|
|
|
MixedDerived3d(0, "hi").meth()
|
|
MixedDerived3d().meth()
|
|
MixedDerived3d(0).meth()
|
|
|
|
MixedDerived4a(0, "hi").meth()
|
|
MixedDerived4a().meth()
|
|
MixedDerived4b(0, "hi").meth()
|
|
MixedDerived4b().meth()
|
|
|
|
MixedDerived4c().meth()
|
|
MixedDerived4c(0).meth()
|
|
|
|
MixedDerived4d().meth()
|
|
MixedDerived4d(0).meth()
|
|
|
|
MixedDerived4e().meth()
|
|
|
|
MixedDerived4f().meth()
|
|
|
|
# Mix of protected base constructors and overloading
|
|
ProotDerived1a().meth()
|
|
|
|
ProotDerived1b(0, "hi").meth()
|
|
ProotDerived1b().meth()
|
|
|
|
ProotDerived1c(0, "hi").meth()
|
|
ProotDerived1c().meth()
|
|
|
|
ProotDerived1d(0).meth()
|
|
ProotDerived1d().meth()
|
|
|
|
ProotDerived1e(0).meth()
|
|
ProotDerived1e().meth()
|
|
|
|
ProotDerived2a(0, "hi").meth()
|
|
|
|
ProotDerived2b(0, "hi").meth()
|
|
|
|
ProotDerived2c(0, "hi").meth()
|
|
ProotDerived2c().meth()
|
|
|
|
ProotDerived2d(0, "hi").meth()
|
|
ProotDerived2d().meth()
|
|
|
|
ProotDerived2e(0, "hi").meth()
|
|
ProotDerived2e().meth()
|
|
|
|
ProotDerived2f(0, "hi").meth()
|
|
ProotDerived2f().meth()
|
|
ProotDerived2f(0).meth()
|
|
|
|
# Deeper inheritance chain
|
|
db3 = DeepBase3(11)
|
|
db3 = DeepBase3(11, 22)
|
|
db3 = DeepBase3(11, 22, 33)
|
|
dbp3 = DeepProtectedBase3(11, 22, 33)
|
|
|
|
# Missing base
|
|
HiddenDerived1()
|
|
|
|
# Templates and public base constructors (derive from non-template)
|
|
TemplatePublicDerived1Int(0, "hi").meth()
|
|
TemplatePublicDerived2Int().meth()
|
|
TemplatePublicDerived2Int(0, "hi").meth()
|
|
TemplatePublicDerived3Int().meth()
|
|
TemplatePublicDerived3Int(0, "hi").meth()
|
|
TemplatePublicDerived4Int().meth()
|
|
TemplatePublicDerived5Int().meth()
|
|
|
|
# Templates and public base constructors (derive from template)
|
|
TemplPublicDerived1Int(0, "hi").meth()
|
|
TemplPublicDerived2Int().meth()
|
|
TemplPublicDerived2Int(0, "hi").meth()
|
|
TemplPublicDerived3Int().meth()
|
|
TemplPublicDerived3Int(0, "hi").meth()
|
|
TemplPublicDerived4Int().meth()
|
|
TemplPublicDerived5Int().meth()
|
|
TemplPublicDerived6Int(0, "hi").meth()
|
|
TemplPublicDerived6Int().meth()
|
|
|
|
# Templated constructors (public)
|
|
tcb = TemplateConstructor1Base(0, "hi")
|
|
tcb = TemplateConstructor1Base("hi", "hi")
|
|
tcb = TemplateConstructor1Base(11.1, "hi")
|
|
tcb.normal_method()
|
|
tcb.template_method(0, "hi")
|
|
tcb.template_method("hey", "ho")
|
|
|
|
tcd1 = TemplateConstructor1Derived(0, "hi")
|
|
tcd1 = TemplateConstructor1Derived("hi", "hi")
|
|
tcd1 = TemplateConstructor1Derived(11.1, "hi")
|
|
# Not the best test as these are also in the base class, (should use introspection to check)
|
|
tcd1.normal_method()
|
|
tcd1.template_method(0, "hi")
|
|
tcd1.template_method("hey", "ho")
|
|
|
|
# Templated constructors (protected)
|
|
tcd2 = TemplateConstructor2Derived()
|
|
tcd2.normal_method()
|
|
tcd2.template_method(0, "hi")
|
|
tcd2.template_method("hey", "ho")
|