aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/li_std_list.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/li_std_list.i')
-rw-r--r--Examples/test-suite/li_std_list.i58
1 files changed, 42 insertions, 16 deletions
diff --git a/Examples/test-suite/li_std_list.i b/Examples/test-suite/li_std_list.i
index bae475eea..2ed5b9ad7 100644
--- a/Examples/test-suite/li_std_list.i
+++ b/Examples/test-suite/li_std_list.i
@@ -1,6 +1,7 @@
%module li_std_list
%include "std_list.i"
+%include "std_string.i"
%{
#include <algorithm>
@@ -8,19 +9,18 @@
#include <numeric>
%}
-namespace std {
- %template(IntList) list<int>;
-}
-
+%template(BoolList) std::list<bool>;
+%template(CharList) std::list<char>;
+%template(ShortList) std::list<short>;
+%template(IntList) std::list<int>;
+%template(LongList) std::list<long>;
+%template(UCharList) std::list<unsigned char>;
+%template(UIntList) std::list<unsigned int>;
+%template(UShortList) std::list<unsigned short>;
+%template(ULongList) std::list<unsigned long>;
+%template(FloatList) std::list<float>;
%template(DoubleList) std::list<double>;
-
-%inline %{
-typedef float Real;
-%}
-
-namespace std {
- %template(RealList) list<Real>;
-}
+%template(StringList) std::list<std::string>;
%inline %{
@@ -30,17 +30,43 @@ double average(std::list<int> v) {
void halve_in_place(std::list<double>& v) {
- std::transform(v.begin(),v.end(),v.begin(),
- std::bind2nd(std::divides<double>(),2.0));
+ for (std::list<double>::iterator it = v.begin(); it != v.end(); ++it)
+ *it /= 2.0;
}
struct Struct {
double num;
Struct() : num(0.0) {}
Struct(double d) : num(d) {}
-// bool operator==(const Struct &other) { return (num == other.num); }
};
-%}
+const std::list<Struct> & CopyContainerStruct(const std::list<Struct> & container) { return container; }
+const std::list<Struct *> & CopyContainerStructPtr(const std::list<Struct *> & container) { return container; }
+const std::list<const Struct *> & CopyContainerStructConstPtr(const std::list<const Struct *> & container) { return container; }
+
+const std::list<float> & listreal(const std::list<float> & list) { return list; }
+
+const std::list<int> & listint(const std::list<int> & list) { return list; }
+const std::list<int *> & listintptr(const std::list<int *> & list) { return list; }
+const std::list<const int *> & listintconstptr(const std::list<const int *> & list) { return list; }
+
+const std::list<Struct> & liststruct(const std::list<Struct> & list) { return list; }
+const std::list<Struct *> & liststructptr(const std::list<Struct *> & list) { return list; }
+const std::list<const Struct *> & liststructconstptr(const std::list<const Struct *> & list) { return list; }
+enum Fruit {
+ APPLE,
+ BANANNA,
+ PEAR,
+ KIWI,
+};
+%}
+#if !defined(SWIGR)
+%template(IntPtrList) std::list<int *>;
+%template(IntConstPtrList) std::list<const int *>;
+#endif
+%template(StructList) std::list<Struct>;
+%template(StructPtrList) std::list<Struct *>;
+%template(StructConstPtrList) std::list<const Struct *>;
+%template(FruitList) std::list<enum Fruit>;