![]() |
Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
|


Public Member Functions | |
| unique_ptr< FileHandle > | OpenFile (const string &path, FileOpenFlags flags, optional_ptr< FileOpener > opener=nullptr) override |
| void | Read (FileHandle &handle, void *buffer, int64_t nr_bytes, idx_t location) override |
| void | Write (FileHandle &handle, void *buffer, int64_t nr_bytes, idx_t location) override |
| int64_t | Read (FileHandle &handle, void *buffer, int64_t nr_bytes) override |
| int64_t | Write (FileHandle &handle, void *buffer, int64_t nr_bytes) override |
| Write nr_bytes from the buffer into the file, moving the file pointer forward by nr_bytes. | |
| bool | Trim (FileHandle &handle, idx_t offset_bytes, idx_t length_bytes) override |
| int64_t | GetFileSize (FileHandle &handle) override |
| Returns the file size of a file handle, returns -1 on error. | |
| timestamp_t | GetLastModifiedTime (FileHandle &handle) override |
| Returns the file last modified time of a file handle, returns timespec with zero on all attributes on error. | |
| string | GetVersionTag (FileHandle &handle) override |
| Returns a tag that uniquely identifies the version of the file. | |
| FileType | GetFileType (FileHandle &handle) override |
| Returns the file last modified time of a file handle, returns timespec with zero on all attributes on error. | |
| FileMetadata | Stats (FileHandle &handle) override |
| Returns the file stats of the attached handle. | |
| void | Truncate (FileHandle &handle, int64_t new_size) override |
| bool | DirectoryExists (const string &directory, optional_ptr< FileOpener > opener=nullptr) override |
| Check if a directory exists. | |
| void | CreateDirectory (const string &directory, optional_ptr< FileOpener > opener=nullptr) override |
| Create a directory if it does not exist. | |
| void | RemoveDirectory (const string &directory, optional_ptr< FileOpener > opener=nullptr) override |
| Recursively remove a directory and all files in it. | |
| void | MoveFile (const string &source, const string &target, optional_ptr< FileOpener > opener=nullptr) override |
| bool | FileExists (const string &filename, optional_ptr< FileOpener > opener=nullptr) override |
| Check if a file exists. | |
| bool | IsPipe (const string &filename, optional_ptr< FileOpener > opener=nullptr) override |
| Check if path is a pipe. | |
| void | RemoveFile (const string &filename, optional_ptr< FileOpener > opener=nullptr) override |
| Remove a file from disk. | |
| void | FileSync (FileHandle &handle) override |
| Sync a file handle to disk. | |
| bool | IsPathAbsolute (const string &path) override |
| Checks if path is is an absolute path. | |
| string | MakePathAbsolute (const string &input, optional_ptr< FileOpener > opener) |
| bool | PathStartsWithDrive (const string &path) |
| bool | CanHandleFile (const string &fpath) override |
| Whether or not a sub-system can handle a specific file path. | |
| void | Seek (FileHandle &handle, idx_t location) override |
| Set the file pointer of a file handle to a specified location. Reads and writes will happen from this location. | |
| idx_t | SeekPosition (FileHandle &handle) override |
| Return the current seek posiiton in the file. | |
| bool | CanSeek () override |
| Whether or not we can seek into the file. | |
| bool | OnDiskFile (FileHandle &handle) override |
| std::string | GetName () const override |
| Return the name of the filesytem. Used for forming diagnosis messages. | |
| vector< OpenFileInfo > | FetchFileWithoutGlob (const string &path, optional_ptr< FileOpener > opener, bool absolute_path) |
| string | CanonicalizePath (const string &path_p, optional_ptr< FileOpener > opener) override |
| Canonicalize a path. | |
Public Member Functions inherited from duckdb::FileSystem | |
| DUCKDB_API unique_ptr< FileHandle > | OpenFile (const OpenFileInfo &path, FileOpenFlags flags, optional_ptr< FileOpener > opener=nullptr) |
| virtual DUCKDB_API void | CreateDirectoriesRecursive (const string &path, optional_ptr< FileOpener > opener=nullptr) |
| Helper function that uses DirectoryExists and CreateDirectory to ensure all directories in path are created. | |
| virtual DUCKDB_API bool | ListFiles (const string &directory, const std::function< void(const string &, bool)> &callback, FileOpener *opener=nullptr) |
| List files in a directory, invoking the callback method for each one with (filename, is_dir) | |
| DUCKDB_API bool | ListFiles (const string &directory, const std::function< void(OpenFileInfo &info)> &callback, optional_ptr< FileOpener > opener=nullptr) |
| virtual DUCKDB_API bool | TryRemoveFile (const string &filename, optional_ptr< FileOpener > opener=nullptr) |
| Remvoe a file from disk if it exists - if it does not exist, return false. | |
| virtual DUCKDB_API void | RemoveFiles (const vector< string > &filenames, optional_ptr< FileOpener > opener=nullptr) |
| Remove multiple files from disk - does not error if any file does not exist. | |
| virtual DUCKDB_API string | GetHomeDirectory () |
| Gets the users home directory. | |
| virtual DUCKDB_API string | ExpandPath (const string &path) |
| Expands a given path, including e.g. expanding the home directory of the user. | |
| virtual DUCKDB_API string | PathSeparator (const string &path) |
| Path separator for path. | |
| DUCKDB_API string | JoinPath (const string &a, const string &path) |
| Join two paths together. | |
| template<typename... ARGS> | |
| string | JoinPath (const string &a, const string &b, ARGS... args) |
| DUCKDB_API string | ConvertSeparators (const string &path) |
| Convert separators in a path to the local separators (e.g. convert "/" into \ on windows) | |
| DUCKDB_API string | ExtractBaseName (const string &path) |
| Extract the base name of a file (e.g. if the input is lib/example.dll the base name is 'example') | |
| DUCKDB_API string | ExtractExtension (const string &path) |
| Extract the extension of a file (e.g. if the input is lib/example.dll the extension is 'dll') | |
| DUCKDB_API string | ExtractName (const string &path) |
| Extract the name of a file (e.g if the input is lib/example.dll the name is 'example.dll') | |
| virtual DUCKDB_API vector< OpenFileInfo > | Glob (const string &path, FileOpener *opener=nullptr) |
| Runs a glob on the file system, returning a list of matching files. | |
| DUCKDB_API unique_ptr< MultiFileList > | Glob (const string &path, const FileGlobInput &input, optional_ptr< FileOpener > opener) |
| DUCKDB_API unique_ptr< MultiFileList > | GlobFileList (const string &path, const FileGlobInput &input=FileGlobOptions::DISALLOW_EMPTY) |
| DUCKDB_API vector< OpenFileInfo > | GlobFiles (const string &pattern, const FileGlobInput &input=FileGlobOptions::DISALLOW_EMPTY) |
| virtual DUCKDB_API void | RegisterSubSystem (unique_ptr< FileSystem > sub_fs) |
| registers a sub-file system to handle certain file name prefixes, e.g. http:// etc. | |
| virtual DUCKDB_API void | RegisterSubSystem (FileCompressionType compression_type, unique_ptr< FileSystem > fs) |
| virtual DUCKDB_API void | UnregisterSubSystem (const string &name) |
| Unregister a sub-filesystem by name. | |
| virtual DUCKDB_API unique_ptr< FileSystem > | ExtractSubSystem (const string &name) |
| virtual DUCKDB_API vector< string > | ListSubSystems () |
| List registered sub-filesystems, including builtin ones. | |
| virtual DUCKDB_API void | Reset (FileHandle &handle) |
| Reset a file to the beginning (equivalent to Seek(handle, 0) for simple files) | |
| virtual DUCKDB_API bool | IsManuallySet () |
| If FS was manually set by the user. | |
| virtual DUCKDB_API unique_ptr< FileHandle > | OpenCompressedFile (QueryContext context, unique_ptr< FileHandle > handle, bool write) |
| virtual DUCKDB_API void | SetDisabledFileSystems (const vector< string > &names) |
| virtual DUCKDB_API bool | SubSystemIsDisabled (const string &name) |
| virtual DUCKDB_API bool | IsDisabledForPath (const string &path) |
| Check if the filesystem that would handle this path is disabled. | |
| template<class TARGET > | |
| TARGET & | Cast () |
| template<class TARGET > | |
| const TARGET & | Cast () const |
Static Public Member Functions | |
| static std::string | GetLastErrorAsString () |
| static bool | IsPrivateFile (const string &path_p, FileOpener *opener) |
| Checks a file is private (checks for 600 on linux/macos, TODO: currently always returns true on windows) | |
Static Public Member Functions inherited from duckdb::FileSystem | |
| static DUCKDB_API FileSystem & | GetFileSystem (ClientContext &context) |
| static DUCKDB_API FileSystem & | GetFileSystem (DatabaseInstance &db) |
| static DUCKDB_API FileSystem & | Get (AttachedDatabase &db) |
| static DUCKDB_API void | SetWorkingDirectory (const string &path) |
| Sets the working directory. | |
| static DUCKDB_API string | GetWorkingDirectory () |
| Gets the working directory. | |
| static DUCKDB_API string | GetHomeDirectory (optional_ptr< FileOpener > opener) |
| Gets the users home directory. | |
| static DUCKDB_API string | ExpandPath (const string &path, optional_ptr< FileOpener > opener) |
| Expands a given path, including e.g. expanding the home directory of the user. | |
| static DUCKDB_API optional_idx | GetAvailableMemory () |
| Returns the system-available memory in bytes. Returns DConstants::INVALID_INDEX if the system function fails. | |
| static DUCKDB_API optional_idx | GetAvailableDiskSpace (const string &path) |
| Returns the space available on the disk. Returns DConstants::INVALID_INDEX if the information was not available. | |
| static DUCKDB_API string | GetEnvVariable (const string &name) |
| Returns the value of an environment variable - or the empty string if it is not set. | |
| static DUCKDB_API bool | HasGlob (const string &str) |
| Whether there is a glob in the string. | |
| static DUCKDB_API unique_ptr< FileSystem > | CreateLocal () |
| Create a LocalFileSystem. | |
| static DUCKDB_API bool | IsRemoteFile (const string &path) |
| Whether or not a file is remote or local, based only on file path. | |
| static DUCKDB_API bool | IsRemoteFile (const string &path, string &extension) |
| static DUCKDB_API bool | IsDirectory (const OpenFileInfo &info) |
Protected Member Functions | |
| bool | ListFilesExtended (const string &directory, const std::function< void(OpenFileInfo &info)> &callback, optional_ptr< FileOpener > opener) override |
| bool | SupportsListFilesExtended () const override |
| unique_ptr< MultiFileList > | GlobFilesExtended (const string &path, const FileGlobInput &input, optional_ptr< FileOpener > opener) override |
| bool | SupportsGlobExtended () const override |
| bool | TryCanonicalizeExistingPath (string &path_p) |
Protected Member Functions inherited from duckdb::FileSystem | |
| virtual DUCKDB_API unique_ptr< FileHandle > | OpenFileExtended (const OpenFileInfo &path, FileOpenFlags flags, optional_ptr< FileOpener > opener) |
| virtual DUCKDB_API bool | SupportsOpenFileExtended () const |
Private Member Functions | |
| void | SetFilePointer (FileHandle &handle, idx_t location) |
| Set the file pointer of a file handle to a specified location. Reads and writes will happen from this location. | |
| idx_t | GetFilePointer (FileHandle &handle) |
|
overridevirtual |
Reimplemented from duckdb::FileSystem.
|
overridevirtual |
Read exactly nr_bytes from the specified location in the file. Fails if nr_bytes could not be read. This is equivalent to calling SetFilePointer(location) followed by calling Read().
Reimplemented from duckdb::FileSystem.
|
overridevirtual |
Write exactly nr_bytes to the specified location in the file. Fails if nr_bytes could not be written. This is equivalent to calling SetFilePointer(location) followed by calling Write().
Reimplemented from duckdb::FileSystem.
|
overridevirtual |
Read nr_bytes from the specified file into the buffer, moving the file pointer forward by nr_bytes. Returns the amount of bytes read.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Write nr_bytes from the buffer into the file, moving the file pointer forward by nr_bytes.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Excise a range of the file. The file-system is free to deallocate this range (sparse file support). Reads to the range will succeed but will return undefined data.
Reimplemented from duckdb::FileSystem.
|
overridevirtual |
Returns the file size of a file handle, returns -1 on error.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Returns the file last modified time of a file handle, returns timespec with zero on all attributes on error.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Returns a tag that uniquely identifies the version of the file.
Reimplemented from duckdb::FileSystem.
|
overridevirtual |
Returns the file last modified time of a file handle, returns timespec with zero on all attributes on error.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Returns the file stats of the attached handle.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Truncate a file to a maximum size of new_size, new_size should be smaller than or equal to the current size of the file
Reimplemented from duckdb::FileSystem.
|
overridevirtual |
Check if a directory exists.
Reimplemented from duckdb::FileSystem.


|
overridevirtual |
Create a directory if it does not exist.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Recursively remove a directory and all files in it.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Move a file from source path to the target, StorageManager relies on this being an atomic action for ACID properties
FIXME: rename does not guarantee atomicity or overwriting target file if it exists
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Check if a file exists.
Reimplemented from duckdb::FileSystem.


|
overridevirtual |
Check if path is a pipe.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Remove a file from disk.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Sync a file handle to disk.
Reimplemented from duckdb::FileSystem.
|
overridevirtual |
Checks if path is is an absolute path.
Reimplemented from duckdb::FileSystem.

| string duckdb::LocalFileSystem::MakePathAbsolute | ( | const string & | input, |
| optional_ptr< FileOpener > | opener | ||
| ) |
| bool duckdb::LocalFileSystem::PathStartsWithDrive | ( | const string & | path | ) |
|
inlineoverridevirtual |
Whether or not a sub-system can handle a specific file path.
Whether or not a sub-system can handle a specific file path
Reimplemented from duckdb::FileSystem.
|
overridevirtual |
Set the file pointer of a file handle to a specified location. Reads and writes will happen from this location.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Return the current seek posiiton in the file.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Whether or not we can seek into the file.
Reimplemented from duckdb::FileSystem.

|
overridevirtual |
Whether or not the FS handles plain files on disk. This is relevant for certain optimizations, as random reads in a file on-disk are much cheaper than e.g. random reads in a file over the network
Reimplemented from duckdb::FileSystem.
|
inlineoverridevirtual |
Return the name of the filesytem. Used for forming diagnosis messages.
Implements duckdb::FileSystem.
|
static |
Returns the last Win32 error, in string format. Returns an empty string if there is no error, or on non-Windows systems.
|
static |
Checks a file is private (checks for 600 on linux/macos, TODO: currently always returns true on windows)

| vector< OpenFileInfo > duckdb::LocalFileSystem::FetchFileWithoutGlob | ( | const string & | path, |
| optional_ptr< FileOpener > | opener, | ||
| bool | absolute_path | ||
| ) |
|
overridevirtual |
Canonicalize a path.
Reimplemented from duckdb::FileSystem.

|
overrideprotectedvirtual |
Reimplemented from duckdb::FileSystem.
|
inlineoverrideprotectedvirtual |
Reimplemented from duckdb::FileSystem.
|
overrideprotectedvirtual |
Reimplemented from duckdb::FileSystem.
|
inlineoverrideprotectedvirtual |
Reimplemented from duckdb::FileSystem.
|
protected |
|
private |
Set the file pointer of a file handle to a specified location. Reads and writes will happen from this location.

|
private |