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

Output file stream buffer. More...

#include <JFileStreamBuffer.hh>

Inheritance diagram for JLANG::JFileOutputStreamBuffer:
std::vector< char > JLANG::JFileOutputStream JLANG::JFileStreamBuffer JLANG::JFileStream JSYSTEM::JShell

Public Types

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

Public Member Functions

 JFileOutputStreamBuffer (const JAbstractFile &file, const std::size_t size=65536)
 Constructor. More...
 
virtual ~JFileOutputStreamBuffer ()
 Destructor. More...
 
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...
 

Protected Member Functions

int flush ()
 Flush internal buffer. More...
 

Protected Attributes

JFile out
 

Private Member Functions

 JFileOutputStreamBuffer (const JFileOutputStreamBuffer &)
 
 JFileOutputStreamBuffer (JFileOutputStreamBuffer &&)
 
JFileOutputStreamBufferoperator= (const JFileOutputStreamBuffer &)
 
JFileOutputStreamBufferoperator= (JFileOutputStreamBuffer &&)
 

Detailed Description

Output file stream buffer.

Definition at line 114 of file JFileStreamBuffer.hh.

Member Typedef Documentation

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

Definition at line 121 of file JFileStreamBuffer.hh.

Definition at line 122 of file JFileStreamBuffer.hh.

Constructor & Destructor Documentation

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

Constructor.

Parameters
filefile
sizesize of internal buffer

Definition at line 131 of file JFileStreamBuffer.hh.

132  :
133  out (file)
134  {
135  // reserve one byte for overflow character
136 
137  resize(size);
138 
139  setp(this->data(), this->data() + this->size() - 1);
140  }
virtual JLANG::JFileOutputStreamBuffer::~JFileOutputStreamBuffer ( )
inlinevirtual

Destructor.

Definition at line 146 of file JFileStreamBuffer.hh.

147  {
148  sync();
149  }
virtual int sync() override
Synchronise buffer.
JLANG::JFileOutputStreamBuffer::JFileOutputStreamBuffer ( const JFileOutputStreamBuffer )
private
JLANG::JFileOutputStreamBuffer::JFileOutputStreamBuffer ( JFileOutputStreamBuffer &&  )
private

Member Function Documentation

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

Check overflow.

This method writes one byte if possible.

Parameters
ccharacter
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.
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
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  }
int flush()
Flush internal buffer.
bool JLANG::JFileOutputStreamBuffer::out_avail ( JTimeval  timeout = JTimeval::min()) const
inline

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 195 of file JFileStreamBuffer.hh.

196  {
197  return JFileDescriptorMask(out).out_avail(timeout);
198  }
bool out_avail(JTimeval timeout=JTimeval::min())
Check availability of output.
Auxiliary class for method select.
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  }
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn this
virtual int write(const char *buffer, const int length)
Write data to file.
Definition: JFile.hh:93
JFileOutputStreamBuffer& JLANG::JFileOutputStreamBuffer::operator= ( const JFileOutputStreamBuffer )
private
JFileOutputStreamBuffer& JLANG::JFileOutputStreamBuffer::operator= ( JFileOutputStreamBuffer &&  )
private

Member Data Documentation

JFile JLANG::JFileOutputStreamBuffer::out
protected

Definition at line 221 of file JFileStreamBuffer.hh.


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