aboutsummaryrefslogtreecommitdiff
path: root/Examples/pike/template/example.h
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/pike/template/example.h')
-rwxr-xr-xExamples/pike/template/example.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/Examples/pike/template/example.h b/Examples/pike/template/example.h
new file mode 100755
index 000000000..4d9a58c54
--- /dev/null
+++ b/Examples/pike/template/example.h
@@ -0,0 +1,32 @@
+/* File : example.h */
+
+// Some template definitions
+
+template<class T> T max(T a, T b) { return a>b ? a : b; }
+
+template<class T> class vector {
+ T *v;
+ int sz;
+ public:
+ vector(int _sz) {
+ v = new T[_sz];
+ sz = _sz;
+ }
+ T &get(int index) {
+ return v[index];
+ }
+ void set(int index, T &val) {
+ v[index] = val;
+ }
+#ifdef SWIG
+ %extend {
+ T getitem(int index) {
+ return self->get(index);
+ }
+ void setitem(int index, T val) {
+ self->set(index,val);
+ }
+ }
+#endif
+};
+