Why doesn't std::reference_wrapper implicitly cast to a reference when calling member function?
Because .
is always used to access members of the object it's applied to. Type conversions aren't considered.
There's a proposal to allow overloading of operator.
, to enable exactly what you want, but that won't be standard until at least C++17, if at all.