6 #ifndef CACHE_STREAM_SOURCE_HPP 7 #define CACHE_STREAM_SOURCE_HPP 10 #include <boost/iostreams/stream.hpp> 11 #include <core/storage/fileio/general_fstream_source.hpp> 12 #include <core/storage/fileio/fixed_size_cache_manager.hpp> 15 namespace fileio_impl {
25 typedef fileio::cache_id_type cache_id_type;
28 typedef char char_type;
29 struct category:
public boost::iostreams::device_tag,
30 boost::iostreams::closable_tag,
31 boost::iostreams::multichar_tag,
32 boost::iostreams::input_seekable {};
46 std::streamsize
read(
char* c, std::streamsize bufsize);
61 std::streampos
seek(std::streamoff off, std::ios_base::seekdir way);
81 std::shared_ptr<fileio::cache_block> in_block;
82 std::shared_ptr<general_fstream_source> in_file;
std::streamsize read(char *c, std::streamsize bufsize)
std::shared_ptr< std::istream > get_underlying_stream()
cache_stream_source(cache_id_type cache_id)
std::streampos seek(std::streamoff off, std::ios_base::seekdir way)