1 #ifndef __JLANG__JFILESTREAMBUFFER__
2 #define __JLANG__JFILESTREAMBUFFER__
17 namespace JPP {
using namespace JLANG; }
27 public virtual std::streambuf
43 const std::size_t size = 65536,
44 const std::size_t put_back = 8) :
48 resize(size + put_back),
62 if (gptr() >= egptr()) {
64 char* __begin = this->
data();
66 if (eback() == __begin) {
75 const size_t len =
in.
read(__begin, this->size() - (__begin - this->
data()));
78 setg(this->
data(), __begin, __begin + len);
80 return traits_type::eof();
116 public virtual std::streambuf
132 const std::size_t size = 65536) :
139 setp(this->
data(), this->
data() + this->size() - 1);
161 if (c != traits_type::eof()) {
167 if (
flush() == traits_type::eof()) {
168 return traits_type::eof();
181 if (
flush() == traits_type::eof())
206 const int len = pptr() - pbase();
210 if (
out.
write(this->data(), len) != len) {
211 return traits_type::eof();
250 const std::size_t size = 65536,
251 const std::size_t put_back = 8) :
The JAbstractFile class encapsulates the c-style file descriptor.
Auxiliary class for method select.
bool out_avail(JTimeval timeout=JTimeval::min())
Check availability of output.
bool in_avail(JTimeval timeout=JTimeval::min())
Check availability of input.
Output file stream buffer.
traits_type::int_type int_type
virtual int sync() override
Synchronise buffer.
JFileOutputStreamBuffer(const JFileOutputStreamBuffer &)
std::streamsize streamsize
bool out_avail(JTimeval timeout=JTimeval::min()) const
Check availability of output.
int flush()
Flush internal buffer.
virtual int_type overflow(int_type c) override
Check overflow.
JFileOutputStreamBuffer & operator=(JFileOutputStreamBuffer &&)
JFileOutputStreamBuffer(JFileOutputStreamBuffer &&)
JFileOutputStreamBuffer & operator=(const JFileOutputStreamBuffer &)
virtual ~JFileOutputStreamBuffer()
Destructor.
JFileOutputStreamBuffer(const JAbstractFile &file, const std::size_t size=65536)
Constructor.
Input and output file stream buffer.
JFileStreamBuffer(const JAbstractFile &in, const JAbstractFile &out, const std::size_t size=65536, const std::size_t put_back=8)
Constructor.
The JFile class extends the JAbstractFile class.
virtual int write(const char *buffer, const int length)
Write data to file.
virtual int read(char *buffer, const int length)
Read data from file.
Auxiliary class for time values.
static JTimeval min()
Get minimal time value.
Auxiliary classes and methods for language specific functionality.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).