Giriş
Şu satırı dahil ederiz.
Constructor
Şöyle yaparız.
Şöyle yaparız.
Bu sınıf bir stream ile kullanılabillir. Şu satırı dahil ederiz.
Şöyle yaparız.
Şu satırı dahil ederiz.
#include <boost/iostreams/device/file_descriptor.hpp>
Elimizde bir file descriptor varsa bu fd'nin bis::stream ile kullanılabilmesini sağlar. Yani bir çeşit adaptor gibi düşünülebilir.Constructor
Şöyle yaparız.
bid::file_descriptor_source fd_s (..., bis::close_handle);
Constructor - pathŞöyle yaparız.
namespace io = boost::iostreams;
namespace fs = boost::filesystem;
auto inputFile = io::file_descriptor_source(fs::path(L"testfile.txt"));
Bunu std::vector'e çevirmek için şöyle yaparız.template<class IoDevice>
std::vector<unsigned char> read_all(IoDevice& io_device) {
boost::iostreams::stream<IoDevice> io_stream(io_device);
return std::vector<unsigned char>(
std::istreambuf_iterator<char>{io_stream},
std::istreambuf_iterator<char>{}
);
}
Stream İle KullanımBu sınıf bir stream ile kullanılabillir. Şu satırı dahil ederiz.
#include <boost/iostreams/stream.hpp>
Örnek - stream constructorŞöyle yaparız.
bis::stream<bis::file_descriptor_source> is
(fd_source);
Stream normal işlemlerde tabi tutulur. Şöyle yaparız.std::string str;
while (std::getline(is, str)){
...
}
Şöyle yaparız.std::string s;
is >> s;
Örnek - stream open metodu
Şöyle yaparız
boost::iostreams::file_descriptor_source fd_source
(..., boost::iostreams::close_handle);
boost::iostreams::stream< boost::iostreams::file_descriptor_source > is
...
is.open(fd_source);
while (is) {
std::string line;
std::getline(is, line);
}
Hiç yorum yok:
Yorum Gönder