// ********************************************************************** // // Copyright (c) 2001 // MutableRealms, Inc. // Huntsville, AL, USA // // All Rights Reserved // // ********************************************************************** #ifndef ICE_STREAM_H #define ICE_STREAM_H #include #include #include #include namespace IceInternal { class ICE_API IntStream : public Buffer { public: IntStream(const InstancePtr&); ~IntStream(); InstancePtr instance() const; void swap(IntStream&); void resize(int); void reserve(int); void startWriteEncaps(); void endWriteEncaps(); void startReadEncaps(); void endReadEncaps(); void skipEncaps(); void write(Ice::Byte v) { b.push_back(v); } void write(const std::vector&); void read(Ice::Byte&); void read(std::vector&); void write(bool v) { b.push_back(static_cast(v)); } void write(const std::vector&); void read(bool&); void read(std::vector&); void write(Ice::Short); void write(const std::vector&); void read(Ice::Short&); void read(std::vector&); void write(Ice::Int); void write(const std::vector&); void read(Ice::Int&); void read(std::vector&); void write(Ice::Long); void write(const std::vector&); void read(Ice::Long&); void read(std::vector&); void write(Ice::Float); void read(Ice::Float&); void write(const std::vector&); void read(std::vector&); void write(Ice::Double); void write(const std::vector&); void read(Ice::Double&); void read(std::vector&); void write(const std::string&); void write(const char*); void write(const std::vector&); void read(std::string&); void read(std::vector&); void write(const std::wstring&); void write(const wchar_t*); void write(const std::vector&); void read(std::wstring&); void read(std::vector&); void write(const ::Ice::ObjectPrx&); void read(::Ice::ObjectPrx&); void write(const ::Ice::ObjectPtr&); void read(::Ice::ObjectPtr&, const std::string&); private: InstancePtr _instance; struct Encaps { Container::size_type start; Ice::Byte encoding; std::vector stringsRead; std::map stringsWritten; std::vector wstringsRead; std::map wstringsWritten; }; std::vector _encapsStack; }; } #endif