>>501
そのpdfとは実装がだいぶ違うけれど自分のコードでは
template <typename T>
ostream& operator<< (ostream &os, property<T>& t)
{
  return os << T(t);
};
のように、propertyに指定した型のoperator<<を利用しています。