#include <iostream>
#include <vector>
#include <streambuf>
using namespace std;

// http://stackoverflow.com/questions/8815164/c-wrapping-vectorchar-with-istream
template<typename CharT, typename TraitsT = std::char_traits<CharT> >
class vectorwrapbuf : public std::basic_streambuf<CharT, TraitsT>
{
public:
	vectorwrapbuf(std::vector<CharT> &vec)
	{
		this->setg(&vec[0], &vec[0], &vec[0] + vec.size());
	}
};

int main()
{
	vector<char> data(100, 1);
	vectorwrapbuf<char> databuf(data);
	std::istream file(&databuf);
	file.exceptions(std::istream::failbit | std::istream::badbit);
	file.seekg(10);
}
