Namespace for FilesystemUtil transitional‐Unix implementation details.
Synopsis
Declared in <bdls_filesystemutil_transitionaluniximputil.h>
template<class UNIX_INTERFACE>
struct FilesystemUtil_TransitionalUnixImpUtil;
Description
This component‐private utility struct provides a namespace for a suite of functions that FilesystemUtil uses as implementation details. These functions have a UNIX_INTERFACE template parameter, which provides access to the entities that transitional‐compilation environment Unix systems declare, and that the function implementations need.
Note that, on some Unix platforms and some build configurations, the stat struct does not have an st_mtime field, and st_mtime is a macro that emulates the access of the field. Similarly, on some Unix platforms and some build configurations, the stat structure does not have an st_mtim field or the st_mtim struct does not have a tv_nsec (or, for some versions of Solaris, __tv_nsec) field, in which case the get_st_mtim_nsec function returns zero. For more information, please see the specification of the sys/stat.h header from IEEE Std 1003.1‐2017, which provides information about the evolution of the stat struct in the POSIX specification (https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/).
The program is ill‐formed unless the specified UNIX_INTERFACE is a class type that meets the following requirements:
* UNIX_INTERFACE::off64_t is a type alias to the off64_t type provided by the sys/types.h header. * UNIX_INTERFACE::stat64 is a type alias to the stat64 type provided by the sys/stat.h header. * UNIX_INTERFACE::time_t is a type alias to the time_t type provided by the sys/types.h header. * UNIX_INTERFACE::get_st_mtim_nsec is a public, static member function that has long (const stat& stat) type and whose contract is to return the value of the st_mtim.tv_nsec field of the specified stat struct. * UNIX_INTERFACE::get_st_mtime is a public, static member function that has time_t (const stat& stat) type and whose contract is to return the value of the st_mtime field of the specified stat struct. * UNIX_INTERFACE::get_st_size is a public, static member function that has off64_t (const stat& stat) type and whose contract is to return the value of the st_size field of the specified stat struct. Note that this function is required in order to access the data members of a stat struct in a manner consistent with the requirements of get_st_mtime. * UNIX_INTERFACE::fstat64 is a public, static member function that has int (int fildes, stat64 *buf) type and whose contract is to return the result of ::fstat64(fildes, buf), where ::fstat64 is the function provided by the sys/stat.h header.
Type Aliases
Name |
Description |
|
|
|
Static Member Functions
Name |
Description |
Return the size, in bytes, of the file with the specified |
|
Load the file's last modification time into |
Created with MrDocs