summaryrefslogtreecommitdiffstats
path: root/WebKit/android/stlport/stl/_string_io.c
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/android/stlport/stl/_string_io.c')
-rw-r--r--WebKit/android/stlport/stl/_string_io.c172
1 files changed, 0 insertions, 172 deletions
diff --git a/WebKit/android/stlport/stl/_string_io.c b/WebKit/android/stlport/stl/_string_io.c
deleted file mode 100644
index 84b1873..0000000
--- a/WebKit/android/stlport/stl/_string_io.c
+++ /dev/null
@@ -1,172 +0,0 @@
-#ifndef _STLP_STRING_IO_C
-#define _STLP_STRING_IO_C
-
-#ifndef _STLP_STRING_IO_H
-# include <stl/_string_io.h>
-#endif
-
-#ifndef _STLP_INTERNAL_CTYPE_H
-# include <stl/_ctype.h>
-#endif
-
-_STLP_BEGIN_NAMESPACE
-
-template <class _CharT, class _Traits>
-bool _STLP_CALL
-__stlp_string_fill(basic_ostream<_CharT, _Traits>& __os,
- basic_streambuf<_CharT, _Traits>* __buf,
- streamsize __n) {
- _CharT __f = __os.fill();
- for (streamsize __i = 0; __i < __n; ++__i) {
- if (_Traits::eq_int_type(__buf->sputc(__f), _Traits::eof()))
- return false;
- }
- return true;
-}
-
-
-template <class _CharT, class _Traits, class _Alloc>
-basic_ostream<_CharT, _Traits>& _STLP_CALL
-operator << (basic_ostream<_CharT, _Traits>& __os,
- const basic_string<_CharT,_Traits,_Alloc>& __s) {
- typedef basic_ostream<_CharT, _Traits> __ostream;
- typedef typename basic_string<_CharT, _Traits, _Alloc>::size_type size_type;
-
- // The hypothesis of this implementation is that size_type is unsigned:
- _STLP_STATIC_ASSERT(__STATIC_CAST(size_type, -1) > 0)
-
- typename __ostream::sentry __sentry(__os);
- bool __ok = false;
-
- if (__sentry) {
- __ok = true;
- size_type __n = __s.size();
- const bool __left = (__os.flags() & __ostream::left) != 0;
- const streamsize __w = __os.width(0);
- basic_streambuf<_CharT, _Traits>* __buf = __os.rdbuf();
-
- const bool __need_pad = (((sizeof(streamsize) > sizeof(size_t)) && (__STATIC_CAST(streamsize, __n) < __w)) ||
- ((sizeof(streamsize) <= sizeof(size_t)) && (__n < __STATIC_CAST(size_t, __w))));
- streamsize __pad_len = __need_pad ? __w - __n : 0;
-
- if (!__left)
- __ok = __stlp_string_fill(__os, __buf, __pad_len);
-
- __ok = __ok && (__buf->sputn(__s.data(), streamsize(__n)) == streamsize(__n));
-
- if (__left)
- __ok = __ok && __stlp_string_fill(__os, __buf, __pad_len);
- }
-
- if (!__ok)
- __os.setstate(__ostream::failbit);
-
- return __os;
-}
-
-template <class _CharT, class _Traits, class _Alloc>
-basic_istream<_CharT, _Traits>& _STLP_CALL
-operator >> (basic_istream<_CharT, _Traits>& __is,
- basic_string<_CharT,_Traits, _Alloc>& __s) {
- typedef basic_istream<_CharT, _Traits> __istream;
- typedef typename basic_string<_CharT, _Traits, _Alloc>::size_type size_type;
-
- // The hypothesis of this implementation is that size_type is unsigned:
- _STLP_STATIC_ASSERT(__STATIC_CAST(size_type, -1) > 0)
-
- typename __istream::sentry __sentry(__is);
-
- if (__sentry) {
- basic_streambuf<_CharT, _Traits>* __buf = __is.rdbuf();
- typedef ctype<_CharT> _C_type;
-
- const locale& __loc = __is.getloc();
- const _C_type& _Ctype = use_facet<_C_type>(__loc);
- __s.clear();
- streamsize __width = __is.width(0);
- size_type __n;
- if (__width <= 0)
- __n = __s.max_size();
- /* __width can only overflow size_type if sizeof(streamsize) > sizeof(size_type)
- * because here we know that __width is positive and the stattic assertion check
- * that size_type is unsigned.
- */
- else if (sizeof(streamsize) > sizeof(size_type) &&
- (__width > __STATIC_CAST(streamsize, __s.max_size())))
- __n = 0;
- else {
- __n = __STATIC_CAST(size_type, __width);
- __s.reserve(__n);
- }
-
- while (__n-- > 0) {
- typename _Traits::int_type __c1 = __buf->sbumpc();
- if (_Traits::eq_int_type(__c1, _Traits::eof())) {
- __is.setstate(__istream::eofbit);
- break;
- }
- else {
- _CharT __c = _Traits::to_char_type(__c1);
-
- if (_Ctype.is(_C_type::space, __c)) {
- if (_Traits::eq_int_type(__buf->sputbackc(__c), _Traits::eof()))
- __is.setstate(__istream::failbit);
- break;
- }
- else
- __s.push_back(__c);
- }
- }
-
- // If we have read no characters, then set failbit.
- if (__s.empty())
- __is.setstate(__istream::failbit);
- }
- else
- __is.setstate(__istream::failbit);
-
- return __is;
-}
-
-template <class _CharT, class _Traits, class _Alloc>
-basic_istream<_CharT, _Traits>& _STLP_CALL
-getline(basic_istream<_CharT, _Traits>& __is,
- basic_string<_CharT,_Traits,_Alloc>& __s,
- _CharT __delim) {
- typedef basic_istream<_CharT, _Traits> __istream;
- typedef typename basic_string<_CharT, _Traits, _Alloc>::size_type size_type;
- size_type __nread = 0;
- typename basic_istream<_CharT, _Traits>::sentry __sentry(__is, true);
- if (__sentry) {
- basic_streambuf<_CharT, _Traits>* __buf = __is.rdbuf();
- __s.clear();
-
- while (__nread < __s.max_size()) {
- int __c1 = __buf->sbumpc();
- if (_Traits::eq_int_type(__c1, _Traits::eof())) {
- __is.setstate(__istream::eofbit);
- break;
- }
- else {
- ++__nread;
- _CharT __c = _Traits::to_char_type(__c1);
- if (!_Traits::eq(__c, __delim))
- __s.push_back(__c);
- else
- break; // Character is extracted but not appended.
- }
- }
- }
- if (__nread == 0 || __nread >= __s.max_size())
- __is.setstate(__istream::failbit);
-
- return __is;
-}
-
-_STLP_END_NAMESPACE
-
-#endif
-
-// Local Variables:
-// mode:C++
-// End: