Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.IO.Enumeration.FileSystemEnumerator< TResult > Class Template Referenceabstract

Public Member Functions

 FileSystemEnumerator (string directory, EnumerationOptions? options=null)
 
void Reset ()
 
void Dispose ()
 
unsafe bool MoveNext ()
 

Protected Member Functions

virtual bool ShouldIncludeEntry (ref FileSystemEntry entry)
 
virtual bool ShouldRecurseIntoEntry (ref FileSystemEntry entry)
 
TResult TransformEntry (ref FileSystemEntry entry)
 
virtual void OnDirectoryFinished (ReadOnlySpan< char > directory)
 
virtual bool ContinueOnError (int error)
 
virtual void Dispose (bool disposing)
 

Package Functions

 FileSystemEnumerator (string directory, bool isNormalized, EnumerationOptions options=null)
 

Properties

TResult Current [get]
 
object? IEnumerator. Current [get]
 

Private Member Functions

unsafe void DirectoryFinished ()
 
 ~FileSystemEnumerator ()
 
void Init ()
 
unsafe bool GetData ()
 
unsafe IntPtr CreateRelativeDirectoryHandle (ReadOnlySpan< char > relativePath, string fullPath)
 
void CloseDirectoryHandle ()
 
IntPtr CreateDirectoryHandle (string path, bool ignoreNotFound=false)
 
bool ContinueOnDirectoryError (int error, bool ignoreNotFound)
 
unsafe void FindNextEntry ()
 
bool DequeueNextDirectory ()
 
void InternalDispose (bool disposing)
 

Private Attributes

int _remainingRecursionDepth
 
readonly string _originalRootDirectory
 
readonly string _rootDirectory
 
readonly EnumerationOptions _options
 
readonly object _lock = new object()
 
unsafe Interop.NtDll.FILE_FULL_DIR_INFORMATION_entry
 
TResult _current
 
IntPtr _buffer
 
int _bufferLength
 
IntPtr _directoryHandle
 
string _currentPath
 
bool _lastEntryFound
 
Queue<(IntPtr Handle, string Path, int RemainingDepth)> _pending
 

Detailed Description

Definition at line 10 of file FileSystemEnumerator.cs.


The documentation for this class was generated from the following file: