summaryrefslogtreecommitdiffstats
path: root/media/libdrm/mobile2/src/util/ustl-1.0/sistream.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/libdrm/mobile2/src/util/ustl-1.0/sistream.h')
-rw-r--r--media/libdrm/mobile2/src/util/ustl-1.0/sistream.h133
1 files changed, 0 insertions, 133 deletions
diff --git a/media/libdrm/mobile2/src/util/ustl-1.0/sistream.h b/media/libdrm/mobile2/src/util/ustl-1.0/sistream.h
deleted file mode 100644
index 924f43b..0000000
--- a/media/libdrm/mobile2/src/util/ustl-1.0/sistream.h
+++ /dev/null
@@ -1,133 +0,0 @@
-// This file is part of the ustl library, an STL implementation.
-//
-// Copyright (C) 2005 by Mike Sharov <msharov@users.sourceforge.net>
-// This file is free software, distributed under the MIT License.
-//
-// sistream.h
-//
-
-#ifndef SISTREAM_H_0CCA102229A49F5D65EE852E62B27CE2
-#define SISTREAM_H_0CCA102229A49F5D65EE852E62B27CE2
-
-#include "mistream.h"
-#include "uassert.h"
-#include "ustring.h"
-
-namespace ustl {
-
-/// \class istringstream sistream.h ustl.h
-/// \ingroup TextStreams
-///
-/// \brief A stream that reads textual data from a memory block.
-///
-class istringstream : public istream {
-public:
- static const size_type c_MaxDelimiters = 16; ///< Maximum number of word delimiters.
-public:
- istringstream (void);
- istringstream (const void* p, size_type n);
- explicit istringstream (const cmemlink& source);
- void iread (int8_t& v);
- void iread (int32_t& v);
- void iread (double& v);
- void iread (bool& v);
- void iread (wchar_t& v);
- void iread (string& v);
-#ifdef HAVE_INT64_T
- void iread (int64_t& v);
-#endif
-#if HAVE_LONG_LONG && (!HAVE_INT64_T || SIZE_OF_LONG_LONG > 8)
- void iread (long long& v);
-#endif
- inline string str (void) const { string s; s.link (*this); return (s); }
- inline void str (const string& s) { link (s); }
- int get (void);
- inline void get (char& c) { c = get(); }
- void get (char* p, size_type n, char delim = '\n');
- void get (string& s, char delim = '\n');
- void getline (char* p, size_type n, char delim = '\n');
- void getline (string& s, char delim = '\n');
- void ignore (size_type n, char delim = '\0');
- inline char peek (void) { int8_t v; iread (v); ungetc(); return (v); }
- inline void putback (char) { ungetc(); }
- inline void unget (void) { ungetc(); }
- void set_delimiters (const char* delimiters);
- inline void set_base (short base);
- inline void set_decimal_separator (char) { }
- inline void set_thousand_separator (char) { }
- void read (void* buffer, size_type size);
- void read (memlink& buf);
- inline void read_strz (string& str);
- inline void sync (void) { skip (remaining()); }
-protected:
- char skip_delimiters (void);
-private:
- inline bool is_delimiter (char c) const;
- template <typename T> void read_number (T& v);
-private:
- char m_Delimiters [c_MaxDelimiters];
- uint8_t m_Base;
-};
-
-/// Sets the numeric base used to read numbers.
-inline void istringstream::set_base (short base)
-{
- m_Base = base;
-}
-
-/// Reads a null-terminated character stream. This is not allowed in this class.
-inline void istringstream::read_strz (string&)
-{
- assert (!"Reading nul characters is not allowed from text streams");
-}
-
-/// Reads one type as another.
-template <typename RealT, typename CastT>
-inline void _cast_read (istringstream& is, RealT& v)
-{
- CastT cv;
- is.iread (cv);
- v = RealT (cv);
-}
-
-inline istringstream& operator>> (istringstream& is, int8_t& v) { is.iread (v); return (is); }
-inline istringstream& operator>> (istringstream& is, int32_t& v){ is.iread (v); return (is); }
-inline istringstream& operator>> (istringstream& is, double& v) { is.iread (v); return (is); }
-inline istringstream& operator>> (istringstream& is, bool& v) { is.iread (v); return (is); }
-inline istringstream& operator>> (istringstream& is, wchar_t& v){ is.iread (v); return (is); }
-inline istringstream& operator>> (istringstream& is, string& v) { is.iread (v); return (is); }
-#if HAVE_INT64_T
-inline istringstream& operator>> (istringstream& is, int64_t& v){ is.iread (v); return (is); }
-#endif
-#if HAVE_LONG_LONG && (!HAVE_INT64_T || SIZE_OF_LONG_LONG > 8)
-inline istringstream& operator>> (istringstream& is, long long& v) { is.iread (v); return (is); }
-#endif
-
-#define ISTRSTREAM_CAST_OPERATOR(RealT, CastT) \
-inline istringstream& operator>> (istringstream& is, RealT& v) \
-{ _cast_read<RealT,CastT>(is, v); return (is); }
-
-ISTRSTREAM_CAST_OPERATOR (uint8_t, int8_t)
-ISTRSTREAM_CAST_OPERATOR (int16_t, int32_t)
-ISTRSTREAM_CAST_OPERATOR (uint16_t, int32_t)
-ISTRSTREAM_CAST_OPERATOR (uint32_t, int32_t)
-ISTRSTREAM_CAST_OPERATOR (float, double)
-#if HAVE_THREE_CHAR_TYPES
-ISTRSTREAM_CAST_OPERATOR (char, int8_t)
-#endif
-#if HAVE_INT64_T
-ISTRSTREAM_CAST_OPERATOR (uint64_t, int64_t)
-#endif
-#if SIZE_OF_LONG == SIZE_OF_INT
-ISTRSTREAM_CAST_OPERATOR (long, int)
-ISTRSTREAM_CAST_OPERATOR (unsigned long,int)
-#endif
-#if HAVE_LONG_LONG && (!HAVE_INT64_T || SIZE_OF_LONG_LONG > 8)
-ISTRSTREAM_CAST_OPERATOR (unsigned long long, long long)
-#endif
-#undef ISTRSTREAM_CAST_OPERATOR
-
-} // namespace ustl
-
-#endif
-