Imported Upstream version 3.2.2
[debian/gnuradio] / gnuradio-core / src / lib / swig / gr_shared_ptr.i
diff --git a/gnuradio-core/src/lib/swig/gr_shared_ptr.i b/gnuradio-core/src/lib/swig/gr_shared_ptr.i
new file mode 100644 (file)
index 0000000..9663033
--- /dev/null
@@ -0,0 +1,43 @@
+//
+//  shared_ptr
+//
+//  An enhanced relative of scoped_ptr with reference counted copy semantics.
+//  The object pointed to is deleted when the last shared_ptr pointing to it
+//  is destroyed or reset.
+//
+
+//
+// This is highly hacked up version of boost::shared_ptr
+// We just need enough to get SWIG to "do the right thing" and
+// generate "Smart Pointer" code.
+//
+
+namespace boost {
+
+template<class T> class shared_ptr
+{
+public:
+
+    shared_ptr()
+    {
+    }
+
+    shared_ptr (T * p)
+    {
+    }
+
+
+    T * operator-> () // never throws
+    {
+        return px;
+    }
+    
+
+private:
+
+    T * px;                     // contained pointer
+    int pn;
+
+};  // shared_ptr
+
+};
\ No newline at end of file