31 #ifndef _SCC_UTIL_IOSTREAM_H
32 #define _SCC_UTIL_IOSTREAM_H
71 InStream(
const std::shared_ptr<Reader>&,
size_t = 1024);
84 void read_reset(
const std::shared_ptr<Reader>&);
85 std::shared_ptr<Reader> read_shared()
const;
100 void clear(std::ios::iostate = std::ios::goodbit);
120 OutStream(
const std::shared_ptr<Writer>&,
size_t = 1024);
133 void write_reset(
const std::shared_ptr<Writer>&);
134 std::shared_ptr<Writer> write_shared()
const;
149 void clear(std::ios::iostate = std::ios::goodbit);
173 IoStream(
const std::shared_ptr<Reader>&,
const std::shared_ptr<Writer>&,
size_t = 1024,
size_t = 1024);
186 void read_reset(
const std::shared_ptr<Reader>&);
187 void write_reset(
const std::shared_ptr<Writer>&);
188 std::shared_ptr<Reader> read_shared()
const;
189 std::shared_ptr<Writer> write_shared()
const;
204 void clear(std::ios::iostate = std::ios::goodbit);
Input stream wrapper for reader.
virtual size_t recvbuf_size() const
Size of receive buffer.
InStream & operator=(const InStream &)=delete
Copy assign not allowed.
InStream(const InStream &)=delete
Copy construct not allowed.
InStream()=delete
No default construct.
virtual std::string recv_fail() const
Failure message from the input stream.
Input/output stream wrapper for reader/writer.
virtual std::string send_fail() const
Failure message from outstream.
size_t recvbuf_size() const
Size of receive buffer.
IoStream(const IoStream &)=delete
Copy construct not allowed.
IoStream()=delete
No default construct.
virtual std::string recv_fail() const
Failure message from instream.
IoStream & operator=(const IoStream &)=delete
Copy assign not allowed.
size_t sendbuf_size() const
Size of send buffer.
Output stream wrapper for writer.
size_t sendbuf_size() const
Size of send buffer.
OutStream(const OutStream &)=delete
Copy construct not allowed.
OutStream()=delete
No default construct.
OutStream & operator=(const OutStream &)=delete
Copy assign not allowed.
virtual std::string send_fail() const
Failure message from outstream.
Input/output stream base reader/writer interface classes.
Interface class for objects which can be read.
Interface class for objects which can be written.