]> git.wh0rd.org - ICEs.git/blobdiff - 360229/xapian_wrap.i.2
more
[ICEs.git] / 360229 / xapian_wrap.i.2
diff --git a/360229/xapian_wrap.i.2 b/360229/xapian_wrap.i.2
new file mode 100644 (file)
index 0000000..c2a73d8
--- /dev/null
@@ -0,0 +1,35 @@
+namespace Xapian {
+       namespace Internal {
+               template < class T > class RefCntPtr {
+                       public:
+                               T *operator->() const;
+                               T *get() const;
+               };
+               template < class T > inline T * RefCntPtr < T >::get() const {}
+       }
+
+       class iter {
+               public:
+               class Internal;
+               Xapian::Internal::RefCntPtr < Internal > internal;
+       };
+
+       bool operator == (const Xapian::iter &a, const Xapian::iter &b) {
+               return (a.internal.get() == b.internal.get());
+       };
+}
+
+bool equals(Xapian::iter const *self,
+                                   Xapian::iter const &other)
+{
+       return *self == other;
+}
+
+bool f() {
+       Xapian::iter *arg1, *arg2;
+       bool result;
+       try {
+               result = equals((Xapian::iter const *)arg1, (Xapian::iter const &)*arg2);
+       } catch(...) {}
+       return result;
+}