[#BloombergLP-bdls] = xref:BloombergLP.adoc[BloombergLP]::bdls :relfileprefix: ../ :mrdocs: Namespace for platform‐independent filesystem utility functions. == Types [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdls/FdStreamBuf.adoc[`FdStreamBuf`] | This class, derived from the C++ standard library class `bsl::streambuf`, is a mechanism that can be associated with an opened file descriptor, and, except for changing the locale, enables the caller to invoke all the standard `bsl::streambuf` operations on that file descriptor. Note that objects of this class are always in exactly one of the 5 modes outlined in the enum `FdStreamBuf::FdStreamBufMode`. | xref:BloombergLP/bdls/FdStreamBuf_FileHandler.adoc[`FdStreamBuf_FileHandler`] | This private helper class isolates direct operations on files from the `FdStreamBuf` class; it is a thin wrapper around `FilesystemUtil`. One service this class provides is converting between an in‐process ` ` and its corresponding on‐file `\r ` when writing to or reading from a Windows text file. On `reset` an object of this type is associated with a supplied file descriptor, after which it can do simple operations on that file descriptor in the service of a `FdStreamBuf`. | xref:BloombergLP/bdls/FileDescriptorGuard.adoc[`FileDescriptorGuard`] | This class implements a guard that conditionally closes an open file descriptor upon its destruction. | xref:BloombergLP/bdls/FilePermissions.adoc[`FilePermissions`] | This `struct` provides a namespace for a `std::filesystem::perms`‐style enumeration of file‐system permission bits, and a pair of predicates for validating an `int` bit mask against that enumeration. | xref:BloombergLP/bdls/FilesystemUtil.adoc[`FilesystemUtil`] | This `struct` provides a namespace for utility functions dealing with platform‐independent filesystem access. | xref:BloombergLP/bdls/FilesystemUtil_CStringUtil.adoc[`FilesystemUtil_CStringUtil`] | This component‐private utility `struct` provides a namespace for the `flatten` overload set intended to be used in concert with an overload set consisting of a function template with a deduced argument and an non‐template overload accepting a `const char *`. The actual implementation of the functionality would be in the `const char *` overload whereas the purpose of the function template is to invoke the `const char *` overload with a null‐terminated string. | xref:BloombergLP/bdls/FilesystemUtil_TransitionalUnixImpUtil.adoc[`FilesystemUtil_TransitionalUnixImpUtil`] | 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. | xref:BloombergLP/bdls/FilesystemUtil_UnixImpUtil.adoc[`FilesystemUtil_UnixImpUtil`] | 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 large‐file environment Unix systems declare, and that the function implementations need. | xref:BloombergLP/bdls/FilesystemUtil_WindowsImpUtil.adoc[`FilesystemUtil_WindowsImpUtil`] | This component‐private utility `struct` provides a namespace for a suite of functions that `FilesystemUtil` uses as implementation details. These functions have a `WINDOWS_INTERFACE` template parameter, which provides access to the entities that Windows systems declare, and that the function implementations need. | xref:BloombergLP/bdls/MemoryUtil.adoc[`MemoryUtil`] | | xref:BloombergLP/bdls/OsUtil.adoc[`OsUtil`] | This `struct` provides a namespace for utility functions retrieving information about the operating system. | xref:BloombergLP/bdls/PathUtil.adoc[`PathUtil`] | This struct contains utility methods for platform‐independent manipulation of filesystem paths. No method of this struct provides any filesystem operations or accesses the filesystem as part of its implementation. | xref:BloombergLP/bdls/PipeUtil.adoc[`PipeUtil`] | This struct contains utility methods for platform‐independent named pipe operations. | xref:BloombergLP/bdls/ProcessUtil.adoc[`ProcessUtil`] | This `struct` contains utility methods for platform‐independent process operations. | xref:BloombergLP/bdls/TempDirectoryGuard.adoc[`TempDirectoryGuard`] | This class implements a scoped temporary directory guard. The guard tries to create a temporary directory in the system‐wide temp directory and falls back to the current directory. |=== == Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdls/operator_lshift-0f.adoc[`operator<<`] | Stream insertion operators |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#