|
Michele De Stefano's C++ Utilities
|
Contains some Boost.Iostreams devices to use a C FILE* as a C++ std::stream. More...
#include <mds_utils/file_utils/detail/cfile_device_base.hpp>Go to the source code of this file.
Classes | |
| struct | mds_utils::file_utils::cFile_Source |
| Source device for FILE* pointers. More... | |
| struct | mds_utils::file_utils::cFile_Sink |
| Sink device for FILE* pointers. More... | |
| struct | mds_utils::file_utils::cFile_Device |
| Device for FILE* pointers. More... | |
Namespaces | |
| mds_utils | |
| Main namespace of all Michele De Stefano's C++ utilities. | |
| mds_utils::file_utils | |
| Namespace of all Michele De Stefano's C++ file utilities. | |
Contains some Boost.Iostreams devices to use a C FILE* as a C++ std::stream.
Imagine this situation: you have some C functions that take a FILE* as input argument. Now you don't want to use the old C FILE* anymore, and you want to write C++ code only. So, basically, you want to use C++ streams only. You would like to make FILE* behave like a C++ stream, otherwise, either you will have to return to use the old fopen, fread and fwrite or you will have to re-write the C functions in C++, to make them use C++ streams (this may not be feasible if C functions belong to a third party library). The good news is that there is a third option: use classes in this file, in conjunction with the Boost Iostreams library.
Have a look at the classes and their usage examples ...
Definition in file cfile_stream.hpp.