Jpp  15.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
JLANG::JFileOutputStream Class Reference

Streaming of output. More...

#include <JFileStream.hh>

Inheritance diagram for JLANG::JFileOutputStream:
JLANG::JFileOutputStreamBuffer std::vector< char >

Public Member Functions

 JFileOutputStream (const JAbstractFile &file, const std::size_t size=65536)
 Constructor. More...
 

Protected Types

typedef traits_type::int_type int_type
 
typedef std::streamsize streamsize
 

Protected Member Functions

virtual int_type overflow (int_type c) override
 Check overflow. More...
 
virtual int sync () override
 Synchronise buffer. More...
 
bool out_avail (JTimeval timeout=JTimeval::min()) const
 Check availability of output. More...
 
int flush ()
 Flush internal buffer. More...
 

Protected Attributes

JFile out
 

Detailed Description

Streaming of output.

Definition at line 46 of file JFileStream.hh.

Member Typedef Documentation

typedef traits_type::int_type JLANG::JFileOutputStreamBuffer::int_type
inherited

Definition at line 115 of file JFileStreamBuffer.hh.

typedef std::streamsize JLANG::JFileOutputStreamBuffer::streamsize
inherited

Definition at line 116 of file JFileStreamBuffer.hh.

Constructor & Destructor Documentation

JLANG::JFileOutputStream::JFileOutputStream ( const JAbstractFile file,
const std::size_t  size = 65536 
)
inline

Constructor.

Parameters
filefile
sizesize of internal buffer

Definition at line 57 of file JFileStream.hh.

58  :
59  JFileOutputStreamBuffer(file, size),
60  std::ostream(this)
61  {}
JFileOutputStreamBuffer(const JAbstractFile &file, const std::size_t size=65536)
Constructor.

Member Function Documentation

virtual int_type JLANG::JFileOutputStreamBuffer::overflow ( int_type  c)
inlineoverridevirtualinherited

Check overflow.

This method writes one byte if possible.

Parameters
ccharacter
Returns
c if OK; else EOF

Definition at line 153 of file JFileStreamBuffer.hh.

154  {
155  if (c != traits_type::eof()) {
156 
157  *pptr() = (char) c;
158 
159  pbump(1);
160 
161  if (flush() == traits_type::eof()) {
162  return traits_type::eof();
163  }
164  }
165 
166  return c;
167  }
int flush()
Flush internal buffer.
virtual int JLANG::JFileOutputStreamBuffer::sync ( )
inlineoverridevirtualinherited

Synchronise buffer.

Definition at line 173 of file JFileStreamBuffer.hh.

174  {
175  if (flush() == traits_type::eof())
176  return -1;
177  else
178  return 0;
179  }
int flush()
Flush internal buffer.
bool JLANG::JFileOutputStreamBuffer::out_avail ( JTimeval  timeout = JTimeval::min()) const
inlineinherited

Check availability of output.

This method returns true if at least one byte can be written without blocking.

Parameters
timeouttimeout
Returns
true if ready to write; else false

Definition at line 189 of file JFileStreamBuffer.hh.

190  {
191  return JFileDescriptorMask(out).out_avail(timeout);
192  }
bool out_avail(JTimeval timeout=JTimeval::min())
Check availability of output.
Auxiliary class for method select.
int JLANG::JFileOutputStreamBuffer::flush ( )
inlineprotectedinherited

Flush internal buffer.

Definition at line 198 of file JFileStreamBuffer.hh.

199  {
200  const int len = pptr() - pbase();
201 
202  if (len != 0) {
203 
204  if (out.write(this->data(), len) != len) {
205  return traits_type::eof();
206  }
207 
208  pbump(-len);
209  }
210 
211  return len;
212  }
virtual int write(const char *buffer, const int length)
Write data to file.
Definition: JFile.hh:87

Member Data Documentation

JFile JLANG::JFileOutputStreamBuffer::out
protectedinherited

Definition at line 215 of file JFileStreamBuffer.hh.


The documentation for this class was generated from the following file: