OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
constrainedfilestream.hpp
Go to the documentation of this file.
1 #ifndef OPENMW_CONSTRAINEDFILESTREAM_H
2 #define OPENMW_CONSTRAINEDFILESTREAM_H
3 
4 #include <istream>
5 #include <memory>
6 
7 namespace Files
8 {
9 
11 class ConstrainedFileStream : public std::istream
12 {
13 public:
14  ConstrainedFileStream(std::unique_ptr<std::streambuf> buf);
15  virtual ~ConstrainedFileStream() {};
16 
17 private:
18  std::unique_ptr<std::streambuf> mBuf;
19 };
20 
21 typedef std::shared_ptr<std::istream> IStreamPtr;
22 
23 IStreamPtr openConstrainedFileStream(const char *filename, size_t start=0, size_t length=0xFFFFFFFF);
24 
25 }
26 
27 #endif
std::shared_ptr< std::istream > IStreamPtr
Definition: constrainedfilestream.hpp:21
ConstrainedFileStream(std::unique_ptr< std::streambuf > buf)
Definition: constrainedfilestream.cpp:106
A file stream constrained to a specific region in the file, specified by the 'start' and 'length' par...
Definition: constrainedfilestream.hpp:11
IStreamPtr openConstrainedFileStream(const char *filename, size_t start, size_t length)
Definition: constrainedfilestream.cpp:112
char buf[1024]
Definition: crashcatcher.cpp:62
std::unique_ptr< std::streambuf > mBuf
Definition: constrainedfilestream.hpp:15
virtual ~ConstrainedFileStream()
Definition: constrainedfilestream.hpp:15