/// <summary>Create a new iterator to traverse the given directory and its children.</summary> /// <remarks>Create a new iterator to traverse the given directory and its children.</remarks> /// <param name="root"> /// the starting directory. This directory should correspond to /// the root of the repository. /// </param> /// <param name="fs"> /// the file system abstraction which will be necessary to perform /// certain file system operations. /// </param> /// <param name="options">working tree options to be used</param> public FileTreeIterator(FilePath root, FS fs, WorkingTreeOptions options) : base( options) { directory = root; this.fs = fs; Init(Entries()); }
/// <summary>Create a new iterator with no parent.</summary> /// <remarks>Create a new iterator with no parent.</remarks> /// <param name="options">working tree options to be used</param> protected internal WorkingTreeIterator(WorkingTreeOptions options) : base() { state = new WorkingTreeIterator.IteratorState(options); }
/// <summary>Create a new iterator with no parent and a prefix.</summary> /// <remarks> /// Create a new iterator with no parent and a prefix. /// <p> /// The prefix path supplied is inserted in front of all paths generated by /// this iterator. It is intended to be used when an iterator is being /// created for a subsection of an overall repository and needs to be /// combined with other iterators that are created to run over the entire /// repository namespace. /// </remarks> /// <param name="prefix"> /// position of this iterator in the repository tree. The value /// may be null or the empty string to indicate the prefix is the /// root of the repository. A trailing slash ('/') is /// automatically appended if the prefix does not end in '/'. /// </param> /// <param name="options">working tree options to be used</param> protected internal WorkingTreeIterator(string prefix, WorkingTreeOptions options) : base(prefix) { state = new WorkingTreeIterator.IteratorState(options); }
internal IteratorState(WorkingTreeOptions options) { this.options = options; this.nameEncoder = Constants.CHARSET.NewEncoder(); }