답안 #96621

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
96621 2019-02-10T13:25:46 Z Ort Titlovi (COCI19_titlovi) C++14
컴파일 오류
0 ms 0 KB
#include<algorithm>
#include<vector>
#include<iostream>
#include<string>

using namespace std;

string times;
int time, start_number;
bool neg = false;
vector<string> timevector;
vector<string> stringvector;
vector<int> num;

string add_time(string s) {
	int next = 0;
	for(int i=s.size()-1;i>=0;i--) {
		if(s[i]==':' || s[i]==',') continue;
		if(i!=6 && i!=3) {
			int num = (s[i]-'0')+(times[i]-'0')+next;
			next = 0;
			if(num>9) {
				s[i] = (num%10)+'0';
				next = num / 10;
			}
			else s[i] = num+'0';
		}
		else {
			int num = (s[i]-'0')+(times[i]-'0')+next;
			next = 0;
			if(num>5) {
				s[i] = (num%6)+'0';
				next = num / 6;
			}
			else s[i] = num+'0';
		}
	}
	return s;
}

string remove_time(string s) {
	int next = 0;
	for(int i=s.size()-1;i>=0;i--) {
		if(s[i]==':' || s[i]==',') continue;
		if(i!=6 && i!=3) {
			int num = 0;
			if(s[i]<times[i]+next) {
				num = 10 + (s[i]-'0') - (times[i]-'0') - next;
				next = 1;
				s[i] = num + '0';
			}
			else {
				s[i] = ((s[i]-'0') - (times[i]-'0')-next)  + '0';
				next = 0;
			}
		}
		else {
			int num = 0;
			if(s[i]<times[i]+next) {
				num = 6 + (s[i]-'0') - (times[i]-'0') - next;
				next = 1;
				s[i] = num + '0';
			}
			else {
				s[i] = ((s[i]-'0') - (times[i]-'0')-next)  + '0';
				next = 0;
			}
		}
	}
	return s;
}

string change_time(string s) {
	string z = " --> ";
	string s1 = s.substr(0, 12);
	string s2 = s.substr(17, 28);
	if(!neg) {
		s1 = add_time(s1);
		s2 = add_time(s2);
	}
	else {
		s1 = remove_time(s1);
		s2 = remove_time(s2);
	}
	return s1+z+s2;
}

void convert_time_to_string(int x) {
    if(x<0) {
    	neg = 1;
    	x *= -1;
	}
	while(x) {
		times.push_back((x%10) + '0');
		x /= 10;
		if(times.size()==3 && x!=0) times += ',';
		else if(times.size()==6 && x!=0) times += ':';
		else if(times.size()==9 && x!=0) times += ':';
	}
	while(times.size()!=12) {
		times += '0';
		if(times.size()==3) times += ',';
		else if(times.size()==6) times += ':';
		else if(times.size()==9) times += ':';
	}
	reverse(times.begin(),times.end());
}

void get_input() {
    string s;
    getline(cin, s);
    start_number = stoi(s);
    while(1) {
    	if(s[0]=='#') break;
    	getline(cin, s);
    	timevector.push_back(s);
    	int cnt = 0;
    	do {
    		getline(cin, s);
    		if(isdigit(s[0]) || s[0]=='#') break;
			stringvector.push_back(s);
			cnt++;
		} while(!isdigit(s[0]) && s[0]!='#');
		num.push_back(cnt);
		if(s[0]=='#') break;
	}
	cin >> time;
	if(time<0) {
		time *= -1;
		neg = true;
	}
}

void output() {
	int x = 0;
	for(int i=0;i<timevector.size();i++) {
		cout << start_number << "\n";
		cout << change_time(timevector[i]) << "\n";
		int cnt = num[i];
		while(cnt--) {
			cout << stringvector[x] << "\n";
			x++;
		}
		if(i!=timevector.size()-1 ) cout << "\n";
		start_number++;
	}
	cout << "#";
}

int main() {
    get_input();
    convert_time_to_string(time);
   	output();
    return 0;
}

Compilation message

titlovi.cpp:9:5: error: 'int time' redeclared as different kind of symbol
 int time, start_number;
     ^~~~
In file included from /usr/include/pthread.h:24:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/gthr-default.h:35,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/gthr.h:148,
                 from /usr/include/c++/7/ext/atomicity.h:35,
                 from /usr/include/c++/7/bits/ios_base.h:39,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from titlovi.cpp:3:
/usr/include/time.h:192:15: note: previous declaration 'time_t time(time_t*)'
 extern time_t time (time_t *__timer) __THROW;
               ^~~~
titlovi.cpp: In function 'void get_input()':
titlovi.cpp:127:6: error: no match for 'operator>>' (operand types are 'std::istream {aka std::basic_istream<char>}' and 'time_t(time_t*) throw () {aka long int(long int*) throw ()}')
  cin >> time;
  ~~~~^~~~~~~
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:120:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(__istream_type& (*__pf)(__istream_type&))
       ^~~~~~~~
/usr/include/c++/7/istream:120:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&) {aka std::basic_istream<char>& (*)(std::basic_istream<char>&)}' [-fpermissive]
  cin >> time;
         ^~~~
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:124:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] <near match>
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/7/istream:124:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}' [-fpermissive]
  cin >> time;
         ^~~~
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:131:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/7/istream:131:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'std::ios_base& (*)(std::ios_base&)' [-fpermissive]
  cin >> time;
         ^~~~
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:168:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(bool& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:168:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: warning: the address of 'time_t time(time_t*)' will never be NULL [-Waddress]
  cin >> time;
         ^~~~
titlovi.cpp:127:9: error: cannot bind non-const lvalue reference of type 'bool&' to an rvalue of type 'bool'
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:172:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>] <near match>
       operator>>(short& __n);
       ^~~~~~~~
/usr/include/c++/7/istream:172:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'short int' [-fpermissive]
  cin >> time;
         ^~~~
titlovi.cpp:127:9: error: cannot bind rvalue '(short int)time' to 'short int&'
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:175:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(unsigned short& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:175:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'short unsigned int' [-fpermissive]
  cin >> time;
         ^~~~
titlovi.cpp:127:9: error: cannot bind rvalue '(short unsigned int)time' to 'short unsigned int&'
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:179:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>] <near match>
       operator>>(int& __n);
       ^~~~~~~~
/usr/include/c++/7/istream:179:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'int' [-fpermissive]
  cin >> time;
         ^~~~
titlovi.cpp:127:9: error: cannot bind rvalue '(int)time' to 'int&'
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:182:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(unsigned int& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:182:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'unsigned int' [-fpermissive]
  cin >> time;
         ^~~~
titlovi.cpp:127:9: error: cannot bind rvalue '(unsigned int)time' to 'unsigned int&'
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:186:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:186:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'long int' [-fpermissive]
  cin >> time;
         ^~~~
titlovi.cpp:127:9: error: cannot bind rvalue '(long int)time' to 'long int&'
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:190:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(unsigned long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:190:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'long unsigned int' [-fpermissive]
  cin >> time;
         ^~~~
titlovi.cpp:127:9: error: cannot bind rvalue '(long unsigned int)time' to 'long unsigned int&'
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:195:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(long long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:195:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'long long int' [-fpermissive]
  cin >> time;
         ^~~~
titlovi.cpp:127:9: error: cannot bind rvalue '(long long int)time' to 'long long int&'
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:199:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(unsigned long long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:199:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'long long unsigned int' [-fpermissive]
  cin >> time;
         ^~~~
titlovi.cpp:127:9: error: cannot bind rvalue '(long long unsigned int)time' to 'long long unsigned int&'
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:235:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(void*& __p)
       ^~~~~~~~
/usr/include/c++/7/istream:235:7: note:   conversion of argument 1 would be ill-formed:
titlovi.cpp:127:9: error: invalid conversion from 'time_t (*)(time_t*) throw () {aka long int (*)(long int*) throw ()}' to 'void*' [-fpermissive]
  cin >> time;
         ^~~~
titlovi.cpp:127:9: error: cannot bind rvalue '(void*)time' to 'void*&'
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:214:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(float& __f)
       ^~~~~~~~
/usr/include/c++/7/istream:214:7: note:   no known conversion for argument 1 from 'time_t(time_t*) throw () {aka long int(long int*) throw ()}' to 'float&'
/usr/include/c++/7/istream:218:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(double& __f)
       ^~~~~~~~
/usr/include/c++/7/istream:218:7: note:   no known conversion for argument 1 from 'time_t(time_t*) throw () {aka long int(long int*) throw ()}' to 'double&'
/usr/include/c++/7/istream:222:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(long double& __f)
       ^~~~~~~~
/usr/include/c++/7/istream:222:7: note:   no known conversion for argument 1 from 'time_t(time_t*) throw () {aka long int(long int*) throw ()}' to 'long double&'
/usr/include/c++/7/istream:259:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
/usr/include/c++/7/istream:259:7: note:   no known conversion for argument 1 from 'time_t(time_t*) throw () {aka long int(long int*) throw ()}' to 'std::basic_istream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}'
In file included from /usr/include/c++/7/string:53:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from titlovi.cpp:3:
/usr/include/c++/7/bits/basic_string.tcc:1465:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator>>(basic_istream<_CharT, _Traits>& __in,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.tcc:1465:5: note:   template argument deduction/substitution failed:
titlovi.cpp:127:9: note:   mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' and 'time_t(time_t*) throw () {aka long int(long int*) throw ()}'
  cin >> time;
         ^~~~
In file included from /usr/include/c++/7/istream:991:0,
                 from /usr/include/c++/7/iostream:40,
                 from titlovi.cpp:3:
/usr/include/c++/7/bits/istream.tcc:963:5: note: candidate: template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)
     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
     ^~~~~~~~
/usr/include/c++/7/bits/istream.tcc:963:5: note:   template argument deduction/substitution failed:
titlovi.cpp:127:9: note:   deduced conflicting types for parameter '_CharT2' ('char' and 'time_t(time_t*) throw () {aka long int(long int*) throw ()}')
  cin >> time;
         ^~~~
In file included from /usr/include/c++/7/istream:991:0,
                 from /usr/include/c++/7/iostream:40,
                 from titlovi.cpp:3:
/usr/include/c++/7/bits/istream.tcc:931:5: note: candidate: template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&)
     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
     ^~~~~~~~
/usr/include/c++/7/bits/istream.tcc:931:5: note:   template argument deduction/substitution failed:
titlovi.cpp:127:9: note:   deduced conflicting types for parameter '_CharT' ('char' and 'time_t(time_t*) throw () {aka long int(long int*) throw ()}')
  cin >> time;
         ^~~~
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:756:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&)
     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
     ^~~~~~~~
/usr/include/c++/7/istream:756:5: note:   template argument deduction/substitution failed:
titlovi.cpp:127:9: note:   cannot convert 'time' (type 'time_t(time_t*) throw () {aka long int(long int*) throw ()}') to type 'unsigned char&'
  cin >> time;
         ^~~~
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:761:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&)
     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
     ^~~~~~~~
/usr/include/c++/7/istream:761:5: note:   template argument deduction/substitution failed:
titlovi.cpp:127:9: note:   cannot convert 'time' (type 'time_t(time_t*) throw () {aka long int(long int*) throw ()}') to type 'signed char&'
  cin >> time;
         ^~~~
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:803:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*)
     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
     ^~~~~~~~
/usr/include/c++/7/istream:803:5: note:   template argument deduction/substitution failed:
titlovi.cpp:127:9: note:   cannot convert 'time' (type 'time_t(time_t*) throw () {aka long int(long int*) throw ()}') to type 'unsigned char*'
  cin >> time;
         ^~~~
In file included from /usr/include/c++/7/iostream:40:0,
                 from titlovi.cpp:3:
/usr/include/c++/7/istream:808:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*)
     operator>>(basic_