HAMIGAKI_IOSTREAMS_CATABLE(source, arity)
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 ExceptionStorage = hamigaki::thread::exception_storage>
class basic_copy_manager;
typedef basic_copy_manager<> copy_manager;
}
}
namespace hamigaki {
namespace iostreams {
template<typename Device> class lazy_restriction;
template<typename Device>
lazy_restriction< Device >
lazy_restrict(const Device & dev, boost::iostreams::stream_offset off,
boost::iostreams::stream_offset len = -1);
}
}
namespace hamigaki {
namespace iostreams {
template<typename Source> class loop_source;
template<typename Source>
loop_source< Source > loop(const Source& src, int count = -1);
}
}