15 using std::streambuf::int_type;
16 using std::streambuf::off_type;
17 using std::streambuf::pos_type;
18 using Traits = std::char_traits<char>;
20#ifdef FENIX_HAVE_MREMAP
22 static inline size_t target_claim_chunk_size = 1024 * 1024 * 1024;
26 static inline size_t target_claim_chunk_size =
27 20ULL * 1024 * 1024 * 1024;
31 static inline size_t target_write_chunk_size = 1024 * 1024;
43 int_type overflow(int_type ch)
override;
44 pos_type seekpos(pos_type pos, std::ios_base::openmode which)
override;
46 off_type off, std::ios_base::seekdir dir, std::ios_base::openmode which
50 void grow_len(
size_t& len,
size_t chunk,
size_t target);
51 void ensure_space(
size_t needed_len);
53 char* mmap_address =
nullptr;
55 size_t writable_len = 0;
56 size_t written_highwater = 0;
58 size_t claim_chunk_size, write_chunk_size;
63 using std::streambuf::int_type;
64 using std::streambuf::off_type;
65 using std::streambuf::pos_type;
66 using Traits = std::char_traits<char>;
72 int_type overflow(int_type ch)
override;
73 pos_type seekpos(pos_type pos, std::ios_base::openmode which)
override;
75 off_type off, std::ios_base::seekdir dir, std::ios_base::openmode which