In my current Unix/C++ application, I need to pipe a file through the sort(1) program before reading it. The input is large to huge, so in-memory sorting won't work.
I'm used to using fork(2), pipe(2) and exec(3) in my C programs. I know I can do the same in C++, but this means using C-style rather than C++ style code for pipe I/O operations.
This is not a big deal, but I'd rather stick to a consistent style. Is there an existing library that handles this, or a way to turn a file descriptor from a pipe(2) call into an std::istream?