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.
Synopsis
Declared in <bdls_filesystemutil_transitionaluniximputil.h>
template<class UNIX_INTERFACE>
struct FilesystemUtil_TransitionalUnixImpUtil;
Description
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 into the specified |
Created with MrDocs