Output file stream buffer.
More...
#include <JFileStreamBuffer.hh>
|
int | flush () |
| Flush internal buffer.
|
|
Output file stream buffer.
Definition at line 114 of file JFileStreamBuffer.hh.
◆ int_type
◆ streamsize
◆ JFileOutputStreamBuffer() [1/3]
JLANG::JFileOutputStreamBuffer::JFileOutputStreamBuffer |
( |
const JAbstractFile & | file, |
|
|
const std::size_t | size = 65536 ) |
|
inline |
Constructor.
- Parameters
-
file | file |
size | size of internal buffer |
Definition at line 131 of file JFileStreamBuffer.hh.
132 :
134 {
135
136
137 resize(size);
138
139 setp(this->
data(), this->
data() + this->size() - 1);
140 }
◆ ~JFileOutputStreamBuffer()
virtual JLANG::JFileOutputStreamBuffer::~JFileOutputStreamBuffer |
( |
| ) |
|
|
inlinevirtual |
Destructor.
Definition at line 146 of file JFileStreamBuffer.hh.
147 {
149 }
virtual int sync() override
Synchronise buffer.
◆ JFileOutputStreamBuffer() [2/3]
◆ JFileOutputStreamBuffer() [3/3]
◆ overflow()
Check overflow.
This method writes one byte if possible.
- Parameters
-
- Returns
- c if OK; else EOF
Definition at line 159 of file JFileStreamBuffer.hh.
160 {
161 if (c != traits_type::eof()) {
162
163 *pptr() = (char) c;
164
165 pbump(1);
166
167 if (
flush() == traits_type::eof()) {
168 return traits_type::eof();
169 }
170 }
171
172 return c;
173 }
int flush()
Flush internal buffer.
◆ sync()
virtual int JLANG::JFileOutputStreamBuffer::sync |
( |
| ) |
|
|
inlineoverridevirtual |
Synchronise buffer.
Definition at line 179 of file JFileStreamBuffer.hh.
180 {
181 if (
flush() == traits_type::eof())
182 return -1;
183 else
184 return 0;
185 }
◆ out_avail()
Check availability of output.
This method returns true if at least one byte can be written without blocking.
- Parameters
-
- Returns
- true if ready to write; else false
Definition at line 195 of file JFileStreamBuffer.hh.
196 {
197 return JFileDescriptorMask(
out).out_avail(timeout);
198 }
◆ flush()
int JLANG::JFileOutputStreamBuffer::flush |
( |
| ) |
|
|
inlineprotected |
Flush internal buffer.
Definition at line 204 of file JFileStreamBuffer.hh.
205 {
206 const int len = pptr() - pbase();
207
208 if (len != 0) {
209
210 if (
out.
write(this->data(), len) != len) {
211 return traits_type::eof();
212 }
213
214 pbump(-len);
215 }
216
217 return len;
218 }
virtual int write(const char *buffer, const int length)
Write data to file.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ out
JFile JLANG::JFileOutputStreamBuffer::out |
|
protected |
The documentation for this class was generated from the following file: