aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/li_std_vector_vector.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/li_std_vector_vector.i')
-rw-r--r--Examples/test-suite/li_std_vector_vector.i68
1 files changed, 68 insertions, 0 deletions
diff --git a/Examples/test-suite/li_std_vector_vector.i b/Examples/test-suite/li_std_vector_vector.i
new file mode 100644
index 000000000..8dbc10e60
--- /dev/null
+++ b/Examples/test-suite/li_std_vector_vector.i
@@ -0,0 +1,68 @@
+%module li_std_vector_vector
+
+%include <std_string.i>
+%include <std_vector.i>
+
+namespace std {
+ %template(VectorInt) vector<int>;
+ %template(VectorString) vector<string>;
+ %template(VectorVectorInt) vector<vector<int>>;
+ %template(VectorVectorString) vector<vector<string>>;
+};
+
+%inline %{
+std::vector<int> make_vector_int() {
+ int x[5] = {1, 2, 3, 4, 5};
+ std::vector<int> v;
+ for (size_t i = 0; i < 5; ++i)
+ v.push_back(x[i]);
+ return v;
+}
+
+std::vector<std::vector<int> > make_vector_vector_int() {
+ int x[5] = {1, 2, 3, 4, 5};
+ std::vector<std::vector<int> > vv;
+ std::vector<int> v;
+ for (size_t i = 0; i < 5; ++i)
+ v.push_back(x[i]);
+ vv.push_back(v);
+ return vv;
+}
+
+std::vector<bool> make_vector_bool() {
+ bool x[5] = {true, false, false, false, true};
+ std::vector<bool> v;
+ for (size_t i = 0; i < 5; ++i)
+ v.push_back(x[i]);
+ return v;
+}
+
+std::vector<std::vector<bool> > make_vector_vector_bool() {
+ bool x[5] = {false, true, true, true, false};
+ std::vector<std::vector<bool> > vv;
+ std::vector<bool> v;
+ for (size_t i = 0; i < 5; ++i)
+ v.push_back(x[i]);
+ vv.push_back(v);
+ return vv;
+}
+
+std::vector<std::string> make_vector_string() {
+ std::string x[5] = {"aa", "bb", "cc", "dd", "ee"};
+ std::vector<std::string> v;
+ for (size_t i = 0; i < 5; ++i)
+ v.push_back(x[i]);
+ return v;
+}
+
+std::vector<std::vector<std::string> > make_vector_vector_string() {
+ std::string x[5] = {"1", "2", "3", "4", "5"};
+ std::vector<std::vector<std::string> > vv;
+ std::vector<std::string> v;
+ for (size_t i = 0; i < 5; ++i)
+ v.push_back(x[i]);
+ vv.push_back(v);
+ return vv;
+}
+
+%}