19 General utilities library [utilities]

19.11 Smart pointers [smartptr]

19.11.1 Class template unique_­ptr [unique.ptr]

19.11.1.6 I/O [unique.ptr.io]

template<class E, class T, class Y, class D> basic_ostream<E, T>& operator<<(basic_ostream<E, T>& os, const unique_ptr<Y, D>& p);
Effects: Equivalent to: os << p.get();
Returns: os.
Remarks: This function shall not participate in overload resolution unless os << p.get() is a valid expression.