C++ wrapper for C io / POSIX / Windows functions.
-
Wrapping a FILE* in a inf::stdio_stream.
-
Creating a inf::stdio_stream from a POSIX fd / Windows HANDLE.
-
Using dup() and dup2() on inf::stdio_stream with safe-ish versions.
-
Wrapping a pipe() in a inf::pipe.
-
Wrapping socket APIs with
<inf/network.hpp>
-
Wrapping posix_spawn/waitpid/waitid on Unix
& _spawnvpe/_cwait on Windows with inf::spawn. -
Wrapping fork/waitpid/waitid on Unix with inf::fork.
-
Errno wrapper for all function that set errno with inf::errno_guard,
throws inf::errno_error with a source_location,
the function name that set errno & the errno value. -
Wrapping memfd_create/ftruncate on Unix & CreateFileMappingA on Windows with
inf::shared_memory. -
Wrapping mmap on Unix & MapViewOfFile on Windows with inf::memory_map.
-
Unit tests with
<inf/tests.hpp>
.
-
write doc with doxygen
-
write validating tests (WIP)
-
add features
- GNU's libstdc++: stdio_filebuf
- GNU's libstdc++: stdio_sync_filebuf
- LLVM's libc++: std_stream
- Nicolai M. Josuttis: fdstream
- GNU's libstdc++ source_location: source_location