Detailed Description

class MemoryDevice

The MemoryDevice class is an in-memory virtual file device used to sandbox file IO. These objects can be obtained by Database::GetMemoryDevice.

Public Functions

bool Exists(char const *utf8_path)

Queries if a path exists within this device.


True if the path exists and false otherwise.

bool IsDirectory(char const *utf8_path)

Queries if a path is a directory within this device.


True if the path is a directory and false otherwise.

bool CreateDirs(char const *utf8_directory_path)

Creates all the directories in this device required for the input directory path to exist.


True if the leaf directory was successfully created and false otherwise.

bool RemoveAll(char const *utf8_path)

Removes a file or directory in this device. If it is a directory, all of its children are also removed.


True if the directory was successfully removed and false otherwise.

MemoryDeviceFile OpenFileForReading(char const *utf8_path)

Opens the file specified by path for read operations. A valid MemoryDeviceFile will be returned which allows reading the file data.

If the path is not a valid file, an Exception will be thrown.


A valid file object if the given path is an actual file.

char const *ToAbsolutePath(char const *utf8_path)

Transforms the given path into an absolute version of the same underlying path. To find the current working directory for the MemoryDevice, call this function with an empty string for the path.


An aboslute version of the given path.


friend class ::TC::IO::MemoryFilesystem