if I have a raw file descriptor, for example, a socket descriptor, is there any way to take that descriptor and pass it to any type of iostream object to create an iostream that reads and writes that file descriptor? file descriptors are a very common and portable part of most APIs, and if there is no way to do this, it seems like a huge oversight in the design of the iostreams library.