コード例 #1
0
 /// <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);
     }
 }
コード例 #2
0
        /// <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);
        }
コード例 #3
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());
        }