boost::iostreams - бага ?
От: nen777w  
Дата: 02.12.16 11:26
Оценка:
Фильтр с закрытым 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, что я и сделал.

Если конструктор открыть, то компилируется, хотя сам конструктор не используется.

Бага?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.