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: