Index: src/examples/wrapper/.gitignore
===================================================================
--- src/examples/wrapper/.gitignore	(revision 58440cef37185b562c617a2d73115453a66fcb5d)
+++ src/examples/wrapper/.gitignore	(revision 58440cef37185b562c617a2d73115453a66fcb5d)
@@ -0,0 +1,3 @@
+.tags
+build/
+test
Index: src/examples/wrapper/premake4.lua
===================================================================
--- src/examples/wrapper/premake4.lua	(revision 58440cef37185b562c617a2d73115453a66fcb5d)
+++ src/examples/wrapper/premake4.lua	(revision 58440cef37185b562c617a2d73115453a66fcb5d)
@@ -0,0 +1,79 @@
+#!lua
+
+-- Additional Linux libs: "X11", "Xxf86vm", "Xi", "Xrandr", "stdc++"
+
+includeDirList = {
+	"src/",
+	"../",
+}
+
+libDirectories = {
+
+}
+
+
+if os.get() == "linux" then
+    linkLibs = {
+	"bsd"
+    }
+end
+
+-- Build Options:
+buildOptions = {"\n  CC = cfa\n  CXX = cfa"}
+
+solution "strings"
+	configurations  { "debug", "release",
+				"cproc-debug", "cproc-release",
+				"cfa-debug", "cfa-release" }
+
+	project "test"
+		kind "ConsoleApp"
+		language "C"
+		location "build"
+		objdir "build"
+		targetdir "."
+		buildoptions (buildOptions)
+		defines {	"bool=_Bool",
+				"\"true=((_Bool)(const signed int)1)\"",
+				"\"false=((_Bool)(const signed int)0)\"",
+				"_GNU_SOURCE",
+				"__cforall",
+				"USE_BSD_LIB"
+			}
+		libdirs (libDirectories)
+		links (linkLibs)
+		linkoptions (linkOptionList)
+		includedirs (includeDirList)
+		files { "src/**.c" }
+
+	configuration "debug"
+		defines { "DEBUG" }
+		flags { "Symbols" }
+
+	configuration "release"
+		defines { "NDEBUG" }
+		flags { "Optimize" }
+
+	configuration "cproc-debug"
+		buildoptions ({"-E"})
+		linkoptions ({"-E"})
+	      defines { "DEBUG" }
+	      flags { "Symbols" }
+
+	configuration "cproc-release"
+		buildoptions ({"-E"})
+		linkoptions ({"-E"})
+	      defines { "DEBUG" }
+	      flags { "Symbols" }
+
+	configuration "cfa-debug"
+		linkoptions ({"-E"})
+		files { "build/cproc-debug/*.o" }
+	      defines { "DEBUG" }
+	      flags { "Symbols" }
+
+	configuration "cfa-release"
+		linkoptions ({"-E"})
+		files { "build/cproc-debug/*.o" }
+	      defines { "DEBUG" }
+	      flags { "Symbols" }
Index: src/examples/wrapper/src/main.c
===================================================================
--- src/examples/wrapper/src/main.c	(revision 58440cef37185b562c617a2d73115453a66fcb5d)
+++ src/examples/wrapper/src/main.c	(revision 58440cef37185b562c617a2d73115453a66fcb5d)
@@ -0,0 +1,9 @@
+#include "pointer.h"
+
+int main(int argc, char const *argv[])
+{
+	content_t c;
+
+	content_t* cp = (content_t*)malloc();
+	return 0;
+}
Index: src/examples/wrapper/src/pointer.h
===================================================================
--- src/examples/wrapper/src/pointer.h	(revision 58440cef37185b562c617a2d73115453a66fcb5d)
+++ src/examples/wrapper/src/pointer.h	(revision 58440cef37185b562c617a2d73115453a66fcb5d)
@@ -0,0 +1,44 @@
+#pragma once
+
+#include <fstream>
+#include <stddef.h>
+#include <stdlib.h>
+
+struct content_t
+{
+	int value;
+	size_t count;
+};
+
+void ?{}(content_t* this)
+{
+	sout | "Constructing content" | endl;
+	this->count = 0;
+}
+
+void ^?{}(content_t* this)
+{
+	sout | "Destroying content" | endl;
+}
+
+// struct wrapper_t
+// {
+// 	content_t* ptr;
+// };
+//
+// void ?{}(wrapper_t* this)
+// {
+// 	//content_t** cp = &this->ptr;
+// 	//*cp = malloc();
+// 	this->ptr->count++;
+// 	sout | "Constructing ref pointer" | endl;
+// 	sout | "Reference is " | this->ptr->count | endl;
+// }
+//
+// void ^?{}(wrapper_t* this)
+// {
+// 	this->ptr->count--;
+// 	if(!this->ptr->count) free(this->ptr);
+// 	sout | "Destroying ref pointer" | endl;
+// 	sout | "Reference is " | this->ptr->count | endl;
+// }
