1*67e74705SXin Li namespace B { 2*67e74705SXin Li 3*67e74705SXin Li template <class _CharT> 4*67e74705SXin Li struct basic_ostream { 5*67e74705SXin Li basic_ostream& operator<<(basic_ostream& (*__pf)()); 6*67e74705SXin Li }; 7*67e74705SXin Li 8*67e74705SXin Li 9*67e74705SXin Li template <class _CharT> basic_ostream<_CharT>& 10*67e74705SXin Li endl(); 11*67e74705SXin Li 12*67e74705SXin Li struct S1 { 13*67e74705SXin Li template <class _CharT> friend void 14*67e74705SXin Li operator<<(basic_ostream<_CharT>& __os, const S1& __x); 15*67e74705SXin Li }; 16*67e74705SXin Li 17*67e74705SXin Li S1 setw(int __n); 18*67e74705SXin Li 19*67e74705SXin Li template <class _CharT> class S2; 20*67e74705SXin Li 21*67e74705SXin Li template <class _CharT> void 22*67e74705SXin Li operator<<(basic_ostream<_CharT>& __os, const S2<_CharT>& __x); 23*67e74705SXin Li 24*67e74705SXin Li template <class _CharT> 25*67e74705SXin Li struct S2 { 26*67e74705SXin Li template <class _Cp> friend void 27*67e74705SXin Li operator<<(basic_ostream<_Cp>& __os, const S2<_Cp>& __x); 28*67e74705SXin Li }; 29*67e74705SXin Li 30*67e74705SXin Li } 31