/// <summary> /// Get FileNode iterator /// </summary> /// <returns></returns> public IEnumerator <FileNode> GetEnumerator() { using FileNodeIterator it = Begin(), end = End(); for (; !it.Equals(end); it.MoveNext()) { yield return(it.Current); } }
/// <summary> /// /// </summary> /// <param name="it"></param> /// <returns></returns> public bool LessThan(FileNodeIterator it) { if (it == null) { throw new ArgumentNullException(nameof(it)); } ThrowIfDisposed(); it.ThrowIfDisposed(); NativeMethods.HandleException( NativeMethods.core_FileNodeIterator_operatorLessThan(ptr, it.CvPtr, out var ret)); GC.KeepAlive(this); GC.KeepAlive(it); return(ret != 0); }
/// <summary> /// /// </summary> /// <param name="it"></param> /// <returns></returns> public long Minus(FileNodeIterator it) { if (it == null) { throw new ArgumentNullException(nameof(it)); } ThrowIfDisposed(); it.ThrowIfDisposed(); NativeMethods.HandleException( NativeMethods.core_FileNodeIterator_operatorMinus(ptr, it.CvPtr, out var ret)); GC.KeepAlive(this); GC.KeepAlive(it); return(ret.ToInt64()); }