Back to Aurora Vision Library Lite website

You are here: Start » System » File System » EnumerateFiles

EnumerateFiles


Header: STD.h
Namespace: avl

Enumerates the files present in a disk directory.

Syntax

bool avl::EnumerateFiles
(
	EnumerateFilesState& ioState,
	const atl::Directory& inDirectory,
	const atl::String& inExtensions,
	avl::FileSortingOrder::Type inSortingOrder,
	bool inRepeat,
	bool inProcessSubdirectories,
	bool inInvert,
	atl::File& outFilePath,
	atl::String& outFileName,
	atl::Optional<bool> outIsFirst = atl::NIL,
	atl::Optional<bool> outIsLast = atl::NIL
)

Parameters

Name Type Default Description
Input will be modified ioState EnumerateFilesState& Object used to maintain state of the function.
Input value inDirectory const Directory& Input directory
Input value inExtensions const String& Allowed extensions separated by semicolon
Input value inSortingOrder FileSortingOrder::Type Sorting order
Input value inRepeat bool Determines whether to repeat reading directory after reading all files
Input value inProcessSubdirectories bool Flag indicating whether to enumerate files from the subdirectories or not
Input value inInvert bool Flag indicating whether to enumerate files backwards or not
Output value outFilePath File& Output file path
Output value outFileName String& Output file name
Output value outIsFirst Optional<bool> NIL Flag indicating the first iteration
Output value outIsLast Optional<bool> NIL Flag indicating the last iteration

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outIsFirst, outIsLast.

Read more about Optional Outputs.

Remarks

Linux

Sorting output by file creation date when running AVL on Linux is not possible due to file system restrictions. When requested to do so EnumerateFiles will throw an exception.

Errors

List of possible exceptions:

Error type Description
DomainError Cannot sort by file creation date on Linux.
DomainError Directory doesn't exist: Directory path
DomainError Empty string is not a valid directory path.