diff options
Diffstat (limited to 'test/unit/full_streambuf.h')
-rw-r--r-- | test/unit/full_streambuf.h | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/test/unit/full_streambuf.h b/test/unit/full_streambuf.h deleted file mode 100644 index 34766ac..0000000 --- a/test/unit/full_streambuf.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef _FULL_STREAM_H -#define _FULL_STREAM_H - -#include <streambuf> - -/* - * This full_streambuf purpose is to act like a full disk to check the right behavior - * of the STLport code in such a case. - */ - -class full_streambuf : public std::streambuf { -public: - typedef std::streambuf _Base; - - typedef _Base::int_type int_type; - typedef _Base::traits_type traits_type; - - full_streambuf(size_t nb_output, bool do_throw = false) - : _nb_output(nb_output), _do_throw(do_throw) - {} - - std::string const& str() const - { return _buf; } - -protected: - int_type overflow(int_type c) { - if (_nb_output == 0) { -#if !defined (STLPORT) || defined (_STLP_USE_EXCEPTIONS) - if (_do_throw) { - throw "streambuf full"; - } -#endif - return traits_type::eof(); - } - --_nb_output; - _buf += traits_type::to_char_type(c); - return c; - } - -private: - size_t _nb_output; - bool _do_throw; - std::string _buf; -}; - -#endif //_FULL_STREAM_H |