/* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version 1.3.32 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ namespace Xapian { using System; using System.Runtime.InteropServices; public class PostingIterator : IDisposable { private HandleRef swigCPtr; protected bool swigCMemOwn; internal PostingIterator(IntPtr cPtr, bool cMemoryOwn) { swigCMemOwn = cMemoryOwn; swigCPtr = new HandleRef(this, cPtr); } internal static HandleRef getCPtr(PostingIterator obj) { return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } ~PostingIterator() { Dispose(); } public virtual void Dispose() { lock(this) { if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { swigCMemOwn = false; XapianPINVOKE.delete_PostingIterator(swigCPtr); } swigCPtr = new HandleRef(null, IntPtr.Zero); GC.SuppressFinalize(this); } } public static PostingIterator operator++(PostingIterator it) { return it.Next(); } public override bool Equals(object o) { return o is PostingIterator && Equals((PostingIterator)o); } public static bool operator==(PostingIterator a, PostingIterator b) { if ((object)a == (object)b) return true; if ((object)a == null || (object)b == null) return false; return a.Equals(b); } public static bool operator!=(PostingIterator a, PostingIterator b) { if ((object)a == (object)b) return false; if ((object)a == null || (object)b == null) return true; return !a.Equals(b); } // Implementing GetHashCode() to always return 0 is rather lame, but // using iterators as keys in a hash table would be rather strange. public override int GetHashCode() { return 0; } public PostingIterator() : this(XapianPINVOKE.new_PostingIterator__SWIG_0(), true) { if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); } public PostingIterator(PostingIterator other) : this(XapianPINVOKE.new_PostingIterator__SWIG_1(PostingIterator.getCPtr(other)), true) { if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); } public void SkipTo(uint did) { XapianPINVOKE.PostingIterator_SkipTo(swigCPtr, did); if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); } public double GetDocLength() { double ret = XapianPINVOKE.PostingIterator_GetDocLength(swigCPtr); if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); return ret; } public uint GetWdf() { uint ret = XapianPINVOKE.PostingIterator_GetWdf(swigCPtr); if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); return ret; } public PositionIterator PositionListBegin() { PositionIterator ret = new PositionIterator(XapianPINVOKE.PostingIterator_PositionListBegin(swigCPtr), true); if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); return ret; } public PositionIterator PositionListEnd() { PositionIterator ret = new PositionIterator(XapianPINVOKE.PostingIterator_PositionListEnd(swigCPtr), true); if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); return ret; } public string GetDescription() { string ret = XapianPINVOKE.PostingIterator_GetDescription(swigCPtr); if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); return ret; } public uint GetDocId() { uint ret = XapianPINVOKE.PostingIterator_GetDocId(swigCPtr); if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); return ret; } public PostingIterator Next() { PostingIterator ret = new PostingIterator(XapianPINVOKE.PostingIterator_Next(swigCPtr), false); if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); return ret; } public bool Equals(PostingIterator other) { bool ret = XapianPINVOKE.PostingIterator_Equals(swigCPtr, PostingIterator.getCPtr(other)); if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); return ret; } } }