▲>>1616050
извини пожалуйста, если не сказал ничего, что бы внезапно тебя обнадёжило.
я довольно долго _читал_, прежде чем стал понимать всякий треш типа template <typename T>
typename std::enable_if<std::is_assignable<Foo, T>::value>::type set(T && t) {
foo_ = std::forward<T>(t);
}