diff --git a/include/istream b/include/istream index 14fa4660..e882e70f 100644 --- a/include/istream +++ b/include/istream @@ -82,6 +82,13 @@ public: pos_type tellg(); basic_istream& seekg(pos_type); basic_istream& seekg(off_type, ios_base::seekdir); +protected: + basic_istream(const basic_istream& rhs) = delete; + basic_istream(basic_istream&& rhs); + // 27.7.2.1.2 Assign/swap: + basic_istream& operator=(const basic_istream& rhs) = delete; + basic_istream& operator=(basic_istream&& rhs); + void swap(basic_istream& rhs); }; // 27.7.1.2.3 character extraction templates: @@ -184,13 +191,21 @@ protected: _LIBCPP_INLINE_VISIBILITY basic_istream(basic_istream&& __rhs); #endif - // 27.7.1.1.2 Assign/swap: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES _LIBCPP_INLINE_VISIBILITY basic_istream& operator=(basic_istream&& __rhs); #endif void swap(basic_istream& __rhs); + +#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS + basic_istream (basic_istream& __rhs) = delete; + basic_istream& operator=(basic_istream& __rhs) = delete; +#else +private: + basic_istream (basic_istream& __rhs); + basic_istream& operator=(basic_istream& __rhs); +#endif public: // 27.7.1.1.3 Prefix/suffix: diff --git a/include/ostream b/include/ostream index 9d96fd8d..36f08617 100644 --- a/include/ostream +++ b/include/ostream @@ -67,6 +67,13 @@ public: pos_type tellp(); basic_ostream& seekp(pos_type); basic_ostream& seekp(off_type, ios_base::seekdir); +protected: + basic_ostream(const basic_ostream& rhs) = delete; + basic_ostream(basic_ostream&& rhs); + // 27.7.3.3 Assign/swap + basic_ostream& operator=(basic_ostream& rhs) = delete; + basic_ostream& operator=(const basic_ostream&& rhs); + void swap(basic_ostream& rhs); }; // 27.7.2.6.4 character inserters @@ -170,6 +177,15 @@ protected: basic_ostream& operator=(basic_ostream&& __rhs); #endif void swap(basic_ostream& __rhs); + +#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS + basic_ostream (basic_ostream& __rhs) = delete; + basic_ostream& operator=(basic_ostream& __rhs) = delete; +#else +private: + basic_ostream (basic_ostream& __rhs); + basic_ostream& operator=(basic_ostream& __rhs); +#endif public: // 27.7.2.4 Prefix/suffix: