32 #ifndef FILE_MAPPING_STREAM_H_
33 #define FILE_MAPPING_STREAM_H_
40 #if ((__cplusplus > 199711L) || (_HAS_CPP0X > 0)) && ((_MSC_VER >= 1600) || (__INTEL_COMPILER >= 1200))
115 #endif // _HAS_CPP11_
151 filemappingbuf*
open(
const char* path_name, std::ios_base::openmode mode, std::streamsize max_length = 0, std::streamoff offset = 0);
174 void*
pubseekptr(
void* ptr, std::ios_base::openmode which = std::ios_base::in | std::ios_base::out);
182 const void*
data()
const;
198 std::streamsize
size()
const;
202 virtual std::streampos seekoff(std::streamoff off, std::ios_base::seekdir way, std::ios_base::openmode which);
203 virtual std::streampos seekpos(std::streampos sp, std::ios_base::openmode which);
204 virtual void* seekptr(
void* ptr, std::ios_base::openmode which);
219 std::streamsize m_MapLength;
222 void* m_pFileMapping;
223 #else // If not Windows, this is a POSIX system !
261 explicit ifmstream(
const char* path_name, std::streamsize max_length = 0, std::streamoff offset = 0);
299 #endif // _HAS_CPP11_
335 void open(
const char* path_name, std::streamsize max_length = 0, std::streamoff offset = 0);
367 std::istream&
pseekg(
const void* ptr);
375 const void*
data()
const;
383 std::streamsize
size()
const;
434 explicit fmstream(
const char* path_name, std::streamsize max_length = 0, std::streamoff offset = 0);
472 #endif // _HAS_CPP11_
510 void open(
const char* path_name, std::streamsize max_length = 0, std::streamoff offset = 0);
555 std::istream&
pseekg(
const void* ptr);
568 std::ostream&
pseekp(
void* ptr);
576 const void*
data()
const;
592 std::streamsize
size()
const;
641 #endif // _HAS_CPP11_