1 // { dg-additional-options -fmodule-header } 2 // { dg-module-cmi {} } 3 4 template<typename _CharT> class istreambuf_iterator; 5 6 void move(char __t); 7 void move(istreambuf_iterator<char> &__u); 8 9 template<typename _Tp> struct allocator {}; 10 11 template<typename _Alloc> struct __alloc_traits 12 { _S_on_swap__alloc_traits13 static void _S_on_swap(_Alloc& __b) 14 { 15 move (__b); 16 } 17 18 typedef allocator<char> other; 19 }; 20 21 template<typename _CharT> class basic_string 22 { 23 typedef __alloc_traits<char>::other _Char_alloc_type; 24 }; 25 26 template<typename _CharT> class istreambuf_iterator 27 { 28 void frob (const basic_string<char>& __s); 29 }; 30