-
Notifications
You must be signed in to change notification settings - Fork 82
Stream
rrahn edited this page Mar 11, 2018
·
2 revisions
- virtual_stream
- zip_stream
- bzip_stream
- bgzf_stream
template <typename stream_type, typename value_type>
concept bool istream_concept = std::is_base_of_v<std::ios_base, stream_type> &&
requires (stream_type & os, value_type & val)
{
typename stream_type::char_type;
typename stream_type::traits_type;
typename stream_type::int_type;
typename stream_type::pos_type;
typename stream_type::off_type;
{ os >> val } -> std::basic_istream<typename stream_type::char_type, typename stream_type::traits_type> &;
};
template <typename stream_type, typename value_type>
concept bool ostream_concept = std::is_base_of_v<std::ios_base, stream_type> &&
requires (stream_type & os, value_type & val)
{
typename stream_type::char_type;
typename stream_type::traits_type;
typename stream_type::int_type;
typename stream_type::pos_type;
typename stream_type::off_type;
{ os << val } -> std::basic_ostream<typename stream_type::char_type, typename stream_type::traits_type> &;
};
template <typename stream_type, typename value_type>
concept bool stream_concept = istream_concept<std::ios_base, stream_type> &&
ostream_concept<std::ios_base, stream_type>
{}