Esempio n. 1
0
        /// <summary>
        /// Returns an enumerate that iterates through index entries.  This
        /// will iterate over a snapshot of the index, so the underlying
        /// index can safely be mutated during iteration.
        /// </summary>
        /// <returns>An enumerator of <see cref="IndexEntry"/> objects</returns>
        public unsafe IEnumerator <IndexEntry> GetEnumerator()
        {
            git_index_iterator *iterator = null;

            Ensure.NativeSuccess(() => libgit2.git_index_iterator_new(out iterator, nativeIndex), this);
            return(IndexEnumerator.FromNative(iterator));
        }
Esempio n. 2
0
 internal unsafe override void Dispose(bool disposing)
 {
     if (nativeIterator != null)
     {
         libgit2.git_index_iterator_free(nativeIterator);
         nativeIterator = null;
     }
 }
Esempio n. 3
0
 internal unsafe static IndexEnumerator FromNative(git_index_iterator *nativeIterator)
 {
     return(new IndexEnumerator(nativeIterator));
 }
Esempio n. 4
0
 private unsafe IndexEnumerator(git_index_iterator *nativeIterator)
 {
     Ensure.ArgumentNotNull(nativeIterator, "iterator");
     this.nativeIterator = nativeIterator;
 }
Esempio n. 5
0
 public static extern unsafe void git_index_iterator_free(git_index_iterator *iterator);
Esempio n. 6
0
 public static extern unsafe int git_index_iterator_next(out git_index_entry *entry, git_index_iterator *iterator);
Esempio n. 7
0
 public static extern unsafe int git_index_iterator_new(out git_index_iterator *iterator, git_index *index);