namespace hamigaki {
namespace iostreams {
class tmp_file;
}
}
namespace hamigaki {
namespace iostreams {
template<typename Ch> class basic_zero_source;
typedef basic_zero_source< char > zero_source;
typedef basic_zero_source< wchar_t > wzero_source;
}
}
namespace hamigaki {
namespace iostreams {
template<typename ExceptionStorage = hamigaki::thread::exception_storage>
class basic_background_copy;
typedef basic_background_copy<> background_copy;
}
}
namespace hamigaki {
namespace iostreams {
template<typename Source1, typename Source2> class concatenation;
template<typename Source1, typename Source2>
concatenation< Source1, Source2 >
concatenate(const Source1&, const Source2&);
}
}
namespace hamigaki {
namespace iostreams {
template<typename Device> class dont_close_device;
template<typename Device>
dont_close_device< Device > dont_close(const Device&);
}
}
namespace hamigaki {
namespace iostreams {
template<typename Device> class lazy_restriction;
template<typename Device>
lazy_restriction< Device >
lazy_restrict(const Device&, boost::iostreams::stream_offset,
boost::iostreams::stream_offset = -1);
}
}
namespace hamigaki {
namespace iostreams {
template<typename Source> class repetition;
template<typename Source> repetition< Source > repeat(const Source&, int);
}
}
namespace hamigaki {
namespace iostreams {
template<typename T> struct is_input_seekable;
}
}