С врапперами (wrapper, обёртка) так или иначе сталкиваются все программисты. В этой статье под враппером я понимаю класс, который оборачивает экземпляр какого-то другого типа. Делаться это может по разным причинам (реализация другого интерфейса, RAII и др.).
Я бы хотел остановиться на том, как новые возможности языка C++ влияют на подходы к написанию врапперов. Мы посмотрим на такие «новые» возможности, как семантика перемещения, constexpr if, ref-qualifiers и deducing this.
