blob: 1bbe86d8120eea4ac5b94fd5ee63ab2c88509edd [file] [log] [blame]
Wenzel Jakobeda978e2016-03-15 15:05:40 +01001from __future__ import print_function
2import sys
3
4sys.path.append('.')
5
6from example import StringList, print_opaque_list
Wenzel Jakob08712282016-04-22 16:52:15 +02007from example import ClassWithSTLVecProperty
Wenzel Jakob9883ec02016-03-26 23:37:51 +01008from example import return_void_ptr, print_void_ptr
9from example import return_null_str, print_null_str
Wenzel Jakob9f0dfce2016-04-06 17:38:18 +020010from example import return_unique_ptr
Wenzel Jakobe8b9dd22016-04-30 19:35:24 +020011from example import Example1
Wenzel Jakobeda978e2016-03-15 15:05:40 +010012
Wenzel Jakob08712282016-04-22 16:52:15 +020013#####
14
Wenzel Jakobeda978e2016-03-15 15:05:40 +010015l = StringList()
16l.push_back("Element 1")
17l.push_back("Element 2")
18print_opaque_list(l)
19print("Back element is %s" % l.back())
Wenzel Jakob06f56ee2016-04-28 16:25:24 +020020for i, k in enumerate(l):
21 print("%i/%i : %s" % (i + 1, len(l), k))
Wenzel Jakobeda978e2016-03-15 15:05:40 +010022l.pop_back()
23print_opaque_list(l)
Wenzel Jakobde1bca82016-03-26 17:51:09 +010024
Wenzel Jakob08712282016-04-22 16:52:15 +020025#####
26cvp = ClassWithSTLVecProperty()
27print_opaque_list(cvp.stringList)
28
29cvp.stringList = l
30cvp.stringList.push_back("Element 3")
31print_opaque_list(cvp.stringList)
32
33#####
34
Wenzel Jakobde1bca82016-03-26 17:51:09 +010035print_void_ptr(return_void_ptr())
Wenzel Jakobe8b9dd22016-04-30 19:35:24 +020036print_void_ptr(Example1()) # Should also work for other C++ types
Wenzel Jakob9883ec02016-03-26 23:37:51 +010037
38print(return_null_str())
39print_null_str(return_null_str())
Wenzel Jakob9f0dfce2016-04-06 17:38:18 +020040
Wenzel Jakob08712282016-04-22 16:52:15 +020041#####
42
Wenzel Jakob06f56ee2016-04-28 16:25:24 +020043ptr = return_unique_ptr()
44print(ptr)
45print_opaque_list(ptr)