Standard C++ Library Reference ISO/IEC (VERSION3)
after the function extracts str.max_size() elements, in which case the function calls
setstate(ios_base::failbit).
3. 
If the function extracts no elements, it calls setstate(failbit). In any case, it returns
istr.
operator+
template<class Elem, class Tr, class Alloc>
 basic_string<Elem, Tr, Alloc> operator+(
 const basic_string<Elem, Tr, Alloc>& left,
 const basic_string<Elem, Tr, Alloc>& right);
template<class Elem, class Tr, class Alloc>
 basic_string<Elem, Tr, Alloc> operator+(
 const basic_string<Elem, Tr, Alloc>& left,
 const Elem *right);
template<class Elem, class Tr, class Alloc>
 basic_string<Elem, Tr, Alloc> operator+(
 const basic_string<Elem, Tr, Alloc>& left,
 Elem right);
template<class Elem, class Tr, class Alloc>
 basic_string<Elem, Tr, Alloc> operator+(
 const Elem *left,
 const basic_string<Elem, Tr, Alloc>& right);
template<class Elem, class Tr, class Alloc>
 basic_string<Elem, Tr, Alloc> operator+(
 Elem left,
 const basic_string<Elem, Tr, Alloc>& right);
The functions each overload operator+ to concatenate two objects of template class
basic_string. All effectively return basic_string<Elem, Tr,
Alloc>(left).append(right).
operator!=
template<class Elem, class Tr, class Alloc>
 bool operator!=(
 const basic_string<Elem, Tr, Alloc>& left,
 const basic_string<Elem, Tr, Alloc>& right);
template<class Elem, class Tr, class Alloc>
 bool operator!=(
 const basic_string<Elem, Tr, Alloc>& left,
 const Elem *right);
template<class Elem, class Tr, class Alloc>
 bool operator!=(










