File: streamwithbuffer.hpp

package info (click to toggle)
openmw 0.49.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,992 kB
  • sloc: cpp: 372,479; xml: 2,149; sh: 1,403; python: 797; makefile: 26
file content (24 lines) | stat: -rw-r--r-- 502 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef OPENMW_COMPONENTS_FILES_STREAMWITHBUFFER_H
#define OPENMW_COMPONENTS_FILES_STREAMWITHBUFFER_H

#include <istream>
#include <memory>

namespace Files
{
    template <class Buffer>
    class StreamWithBuffer final : public std::istream
    {
    public:
        explicit StreamWithBuffer(std::unique_ptr<Buffer>&& buffer)
            : std::istream(buffer.get())
            , mBuffer(std::move(buffer))
        {
        }

    private:
        std::unique_ptr<Buffer> mBuffer;
    };
}

#endif