use seperate file for group
[libt2n] / example-codegen / default.cpp
diff --git a/example-codegen/default.cpp b/example-codegen/default.cpp
new file mode 100644 (file)
index 0000000..38b936b
--- /dev/null
@@ -0,0 +1,43 @@
+#include <string>
+// serialization of string
+#include <boost/serialization/string.hpp>
+// serialization of pair
+#include <boost/serialization/utility.hpp>
+
+// std::vector
+#include <vector>
+#include <boost/serialization/vector.hpp>
+
+#include "default_common.hxx"
+
+//! test pass by copy
+LIBT2N_EXPORT std::string testfunc(std::string str) 
+{
+    std::string ret;
+    if (str=="throw")
+        throw libt2n::t2n_runtime_error("throw me around");
+    if (str=="big")
+        ret.insert(0,100*1024,'x');
+    else
+        ret=str+", testfunc() was here";
+    return ret;
+}
+
+//! test pass by const reference
+LIBT2N_EXPORT std::string testfunc_ref(const std::string &str) 
+{
+    std::string ret;
+    if (str=="throw")
+        throw libt2n::t2n_runtime_error("throw me around");
+    if (str=="big")
+        ret.insert(0,100*1024,'x');
+    else
+        ret=str+", testfunc() was here";
+    return ret;
+}
+
+//! test builtin type
+LIBT2N_EXPORT int t2(int i) 
+{
+    return i;
+}