summaryrefslogtreecommitdiff
path: root/tolua/src/tests/tvararg.h
diff options
context:
space:
mode:
Diffstat (limited to 'tolua/src/tests/tvararg.h')
-rw-r--r--tolua/src/tests/tvararg.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/tolua/src/tests/tvararg.h b/tolua/src/tests/tvararg.h
new file mode 100644
index 0000000..76c5de0
--- /dev/null
+++ b/tolua/src/tests/tvararg.h
@@ -0,0 +1,38 @@
+#include <stdio.h>
+
+struct B
+{
+ static int n;
+ B() {++n; }
+ ~B() {--n; }
+};
+
+class A
+{
+ double v[3];
+public:
+ A() { v[0]=1.0; v[1]=2.0; v[2]=3.0;}
+ double get (int i)
+ {
+ return v[i];
+ }
+ int bounce (int i, int* j, int* k)
+ {
+ *k = i;
+ return i;
+ }
+ double add (lua_State* L)
+ {
+ double a = 0.0;
+ int n=2;
+ while (lua_isnumber(L, n)) {
+ a += lua_tonumber(L, n);
+ ++n;
+ }
+ return a;
+ }
+ B* GetB ()
+ {
+ return new B();
+ }
+};