From 2615896faa646e5830abf2c269150e1165c66515 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 18 Dec 2020 18:48:46 +0300 Subject: Switch to build2 --- libxsd/xsd/cxx/tree/istream.hxx | 453 ---------------------------------------- 1 file changed, 453 deletions(-) delete mode 100644 libxsd/xsd/cxx/tree/istream.hxx (limited to 'libxsd/xsd/cxx/tree/istream.hxx') diff --git a/libxsd/xsd/cxx/tree/istream.hxx b/libxsd/xsd/cxx/tree/istream.hxx deleted file mode 100644 index c50a122..0000000 --- a/libxsd/xsd/cxx/tree/istream.hxx +++ /dev/null @@ -1,453 +0,0 @@ -// file : xsd/cxx/tree/istream.hxx -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_ISTREAM_HXX -#define XSD_CXX_TREE_ISTREAM_HXX - -#include -#include -#include // std::auto_ptr/unique_ptr -#include // std::size_t - -#include // XSD_AUTO_PTR - -#include - -namespace xsd -{ - namespace cxx - { - namespace tree - { - class istream_common - { - public: - template - struct as_size - { - explicit as_size (T& x) : x_ (x) {} - T& x_; - }; - - - // 8-bit - // - template - struct as_int8 - { - explicit as_int8 (T& x) : x_ (x) {} - T& x_; - }; - - template - struct as_uint8 - { - explicit as_uint8 (T& x) : x_ (x) {} - T& x_; - }; - - - // 16-bit - // - template - struct as_int16 - { - explicit as_int16 (T& x) : x_ (x) {} - T& x_; - }; - - template - struct as_uint16 - { - explicit as_uint16 (T& x) : x_ (x) {} - T& x_; - }; - - - // 32-bit - // - template - struct as_int32 - { - explicit as_int32 (T& x) : x_ (x) {} - T& x_; - }; - - template - struct as_uint32 - { - explicit as_uint32 (T& x) : x_ (x) {} - T& x_; - }; - - - // 64-bit - // - template - struct as_int64 - { - explicit as_int64 (T& x) : x_ (x) {} - T& x_; - }; - - template - struct as_uint64 - { - explicit as_uint64 (T& x) : x_ (x) {} - T& x_; - }; - - - // Boolean - // - template - struct as_bool - { - explicit as_bool (T& x) : x_ (x) {} - T& x_; - }; - - - // Floating-point - // - template - struct as_float32 - { - explicit as_float32 (T& x) : x_ (x) {} - T& x_; - }; - - template - struct as_float64 - { - explicit as_float64 (T& x) : x_ (x) {} - T& x_; - }; - }; - - template - class istream: public istream_common - { - public: - explicit - istream (S& s) - : s_ (s) - { - } - - S& - impl () - { - return s_; - } - - // Add string to the pool. The application should add every - // potentially pooled string to correctly re-create the pool - // constructed during insertion. - // - template - void - pool_add (const std::basic_string& s) - { - typedef pool_impl pool_type; - - if (pool_.get () == 0) - pool_.reset (new pool_type); - - pool_type& p (*static_cast (pool_.get ())); - p.push_back (s); - } - - // Get string from pool id. We return the result via an argument - // instead of as a return type to avoid difficulties some compilers - // (e.g., GCC) experience with calls like istream::pool_string. - // - template - void - pool_string (std::size_t id, std::basic_string& out) - { - typedef pool_impl pool_type; - pool_type& p (*static_cast (pool_.get ())); - out = p[id - 1]; - } - - public: - // 8-bit - // - signed char - read_char (); - - unsigned char - read_uchar (); - - // 16-bit - // - unsigned short - read_short (); - - unsigned short - read_ushort (); - - // 32-bit - // - unsigned int - read_int (); - - unsigned int - read_uint (); - - // 64-bit - // - unsigned long long - read_ulonglong (); - - unsigned long long - read_longlong (); - - // Boolean - // - bool - read_bool (); - - // Floating-point - // - float - read_float (); - - double - read_double (); - - private: - istream (const istream&); - istream& - operator= (const istream&); - - private: - struct pool - { - virtual - ~pool () {} - }; - - template - struct pool_impl: pool, std::vector > - { - }; - - S& s_; - std::size_t seq_; - XSD_AUTO_PTR pool_; - }; - - - // 8-bit - // - template - inline istream& - operator>> (istream& s, signed char& x) - { - istream_common::as_int8 as_int8 (x); - return s >> as_int8; - } - - template - inline istream& - operator>> (istream& s, unsigned char& x) - { - istream_common::as_uint8 as_uint8 (x); - return s >> as_uint8; - } - - - // 16-bit - // - template - inline istream& - operator>> (istream& s, short& x) - { - istream_common::as_int16 as_int16 (x); - return s >> as_int16; - } - - template - inline istream& - operator>> (istream& s, unsigned short& x) - { - istream_common::as_uint16 as_uint16 (x); - return s >> as_uint16; - } - - - // 32-bit - // - template - inline istream& - operator>> (istream& s, int& x) - { - istream_common::as_int32 as_int32 (x); - return s >> as_int32; - } - - template - inline istream& - operator>> (istream& s, unsigned int& x) - { - istream_common::as_uint32 as_uint32 (x); - return s >> as_uint32; - } - - - // 64-bit - // - template - inline istream& - operator>> (istream& s, long long& x) - { - istream_common::as_int64 as_int64 (x); - return s >> as_int64; - } - - template - inline istream& - operator>> (istream& s, unsigned long long& x) - { - istream_common::as_uint64 as_uint64 (x); - return s >> as_uint64; - } - - // Boolean - // - template - inline istream& - operator>> (istream& s, bool& x) - { - istream_common::as_bool as_bool (x); - return s >> as_bool; - } - - - // Floating-point - // - template - inline istream& - operator>> (istream& s, float& x) - { - istream_common::as_float32 as_float32 (x); - return s >> as_float32; - } - - template - inline istream& - operator>> (istream& s, double& x) - { - istream_common::as_float64 as_float64 (x); - return s >> as_float64; - } - - // - // read_* functions. - // - - template - inline signed char istream:: - read_char () - { - signed char r; - *this >> r; - return r; - } - - template - inline unsigned char istream:: - read_uchar () - { - unsigned char r; - *this >> r; - return r; - } - - template - inline unsigned short istream:: - read_short () - { - short r; - *this >> r; - return r; - } - - template - inline unsigned short istream:: - read_ushort () - { - unsigned short r; - *this >> r; - return r; - } - - template - inline unsigned int istream:: - read_int () - { - int r; - *this >> r; - return r; - } - - template - inline unsigned int istream:: - read_uint () - { - unsigned int r; - *this >> r; - return r; - } - - template - inline unsigned long long istream:: - read_ulonglong () - { - long long r; - *this >> r; - return r; - } - - template - inline unsigned long long istream:: - read_longlong () - { - unsigned long long r; - *this >> r; - return r; - } - - template - inline bool istream:: - read_bool () - { - bool r; - *this >> r; - return r; - } - - template - inline float istream:: - read_float () - { - float r; - *this >> r; - return r; - } - - template - inline double istream:: - read_double () - { - double r; - *this >> r; - return r; - } - } - } -} - -#endif // XSD_CXX_TREE_ISTREAM_HXX -- cgit v1.1