BloombergLP::bdls

Namespace for platform-independent filesystem utility functions.

Types

NameDescription
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.
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.
FileDescriptorGuard This class implements a guard that conditionally closes an open file descriptor upon its destruction.
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.
FilesystemUtil This struct provides a namespace for utility functions dealing with platform-independent filesystem access.
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.
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.
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.
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.
MemoryUtil
OsUtil This struct provides a namespace for utility functions retrieving information about the operating system.
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.
PipeUtil This struct contains utility methods for platform-independent named pipe operations.
ProcessUtil This struct contains utility methods for platform-independent process operations.
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

NameDescription
operator<< Stream insertion operators