Giriş
Sınıf şu isim alanı içinde.
Constructor - default
Şöyle yaparız. Daha sonra open() çağrısı ile dosyayı açmak gerekir.
İmzası şöyle.
Şöyle yaparız.
Sınıf şu isim alanı içinde.
namespace boost { namespace iostreams { class mapped_file_source { ... }; } } // End namespace boost::ioSınıf sadece okuma amaçlı (readonly) metod sunar. Yazma işlemi için kullanılamaz. Bu sınıfın kardeşi mapped_file_sink sınıfıdır.
Constructor - default
Şöyle yaparız. Daha sonra open() çağrısı ile dosyayı açmak gerekir.
boost::iostreams::mapped_file_source f;
Constructor - stringİmzası şöyle.
explicit mapped_file_source( const std::string& path, size_type length = max_length, boost::intmax_t offset = 0 );length parametresinin açıklaması şöyle.
Şöyle yaparız.length - The number of bytes to map. If this parameter is not specified, the entire file is mapped.
bios::mapped_file_source f ("csv.txt");
close metodu
İmzası şöyle.void close();data metodu
Şöyle yaparız.
CsvFile parsed;
if (qi::parse(f.data(), f.data() + f.size(), CsvParser(), parsed))
{...}
is_open metodu
İmzası şöyle.bool is_open() const;
Şöyle yaparız.
İmzası şöyle.if (file.is_open()) {
int* data = (int*)file.data();
file.close();
}
open metoduvoid open( const std::string& path, size_type length = max_length, boost::intmax_t offset = 0 );Bu metod mmap64 metodunu çağırır.
(gdb) backtrace
mmap64 ()
...
iostreams::mapped_file_source::open<boost::iostreams::detail::path> ()
iostreams::mapped_file_source::open<boost::filesystem::path> ()
Şöyle yaparız.struct _stat64 fileinfo;
const char* filename = ...;
int result = _stat64(filename, &fileinfo);
boost::iostreams::mapped_file_source file;
file.open(filename, numberOfBytes);
size metoduŞöyle yaparız.
f.size()
Hiç yorum yok:
Yorum Gönder