Здравствуйте, Кодт, Вы писали:
К>У засовывания всего в шаблон есть один маленький минус: сложно параметризовать в рантайме.
это вроде как и не требовалось до сих пор.
пример:
const char *ptr = ...
const std::size_t size = ...
if ( data is compressed ) {
yas::binary_mem_iarchive<yas::zlib_compressor> ia(ptr, size);
ia & obj1
& obj2
;
} else {
yas::binary_mem_iarchive<> ia(ptr, size);
ia & obj1
& obj2
;
}
К>Например, у модуля сжатия могут быть параметры — степень сжатия, размер словаря и/или окна.
параметризируем шаблон необходимыми параметрами.
К>Тащить это всё в шаблон — можно, но каждый раз мы будем получать новый тип.
а какие у этого отрицательные моменты? разбухание кода?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)