2016-03-15 14:05:40 +00:00
|
|
|
from __future__ import print_function
|
|
|
|
import sys
|
|
|
|
|
|
|
|
sys.path.append('.')
|
|
|
|
|
|
|
|
from example import StringList, print_opaque_list
|
2016-04-22 14:52:15 +00:00
|
|
|
from example import ClassWithSTLVecProperty
|
2016-03-26 22:37:51 +00:00
|
|
|
from example import return_void_ptr, print_void_ptr
|
|
|
|
from example import return_null_str, print_null_str
|
2016-04-06 15:38:18 +00:00
|
|
|
from example import return_unique_ptr
|
2016-04-30 17:35:24 +00:00
|
|
|
from example import Example1
|
2016-03-15 14:05:40 +00:00
|
|
|
|
2016-04-22 14:52:15 +00:00
|
|
|
#####
|
|
|
|
|
2016-03-15 14:05:40 +00:00
|
|
|
l = StringList()
|
|
|
|
l.push_back("Element 1")
|
|
|
|
l.push_back("Element 2")
|
|
|
|
print_opaque_list(l)
|
|
|
|
print("Back element is %s" % l.back())
|
2016-04-28 14:25:24 +00:00
|
|
|
for i, k in enumerate(l):
|
|
|
|
print("%i/%i : %s" % (i + 1, len(l), k))
|
2016-03-15 14:05:40 +00:00
|
|
|
l.pop_back()
|
|
|
|
print_opaque_list(l)
|
2016-03-26 16:51:09 +00:00
|
|
|
|
2016-04-22 14:52:15 +00:00
|
|
|
#####
|
|
|
|
cvp = ClassWithSTLVecProperty()
|
|
|
|
print_opaque_list(cvp.stringList)
|
|
|
|
|
|
|
|
cvp.stringList = l
|
|
|
|
cvp.stringList.push_back("Element 3")
|
|
|
|
print_opaque_list(cvp.stringList)
|
|
|
|
|
|
|
|
#####
|
|
|
|
|
2016-03-26 16:51:09 +00:00
|
|
|
print_void_ptr(return_void_ptr())
|
2016-04-30 17:56:10 +00:00
|
|
|
print_void_ptr(Example1()) # Should also work for other C++ types
|
|
|
|
|
|
|
|
try:
|
|
|
|
print_void_ptr([1, 2, 3]) # This should not work
|
|
|
|
except Exception as e:
|
|
|
|
print("Caught expected exception: " + str(e))
|
2016-03-26 22:37:51 +00:00
|
|
|
|
|
|
|
print(return_null_str())
|
|
|
|
print_null_str(return_null_str())
|
2016-04-06 15:38:18 +00:00
|
|
|
|
2016-04-22 14:52:15 +00:00
|
|
|
#####
|
|
|
|
|
2016-04-28 14:25:24 +00:00
|
|
|
ptr = return_unique_ptr()
|
|
|
|
print(ptr)
|
|
|
|
print_opaque_list(ptr)
|