Фильтр с закрытым copy CTOR.
struct crc_md5_filter : public boost::iostreams::output_filter
{
typedef char char_type;
typedef boost::iostreams::output_filter_tag category;
crc_md5_filter(const crc_md5_filter&) = delete;
crc_md5_filter &operator = (const crc_md5_filter &) = delete;
...
};
//Используем
crc_md5_filter md5_filter;
boost_io::filtering_ostream ofs;
ofs.push(boost::ref(md5_filter)); <<-- Error C2280 'boost::iostreams::crc_md5_filter::crc_md5_filter(const boost::iostreams::crc_md5_filter &)': attempting to reference a deleted function
Здесь в документации на push() сказано что в случае закрытого copy CTOR нужно использовать boost::ref, что я и сделал.
Если конструктор открыть, то компилируется, хотя сам конструктор не используется.
Бага?