This class implements an output bitstream.  
 More...
#include <Bitstream.h>
 | 
|   | OutputBitstream (std::ostream &stream) | 
|   | Creates a new output bitstream object.  
  | 
|   | 
| template<typename T >  | 
| bool  | write (const T &value) | 
|   | Writes a data object to the stream and moves the internal position inside the bitstream accordingly.  
  | 
|   | 
| bool  | write (const void *data, const size_t size) | 
|   | Writes a defined memory block from a given buffer into the stream and moves the internal position inside the bitstream accordingly.  
  | 
|   | 
| unsigned long long  | size () const | 
|   | Returns the current size of the bitstream, in bytes.  
  | 
|   | 
|   | operator bool () const | 
|   | Returns whether this bitstream object is valid and can be used.  
  | 
|   | 
 | 
| std::ostream &  | outputStream | 
|   | The internal output stream object that this object encapsulates.  
  | 
|   | 
This class implements an output bitstream. 
The implementation of the input bitstream is not thread-safe, thus ensure that the internal input stream object is not used within several threads concurrently.
 The bitstream support specific data type, see InputBitstream for detailed information. 
 
◆ OutputBitstream()
      
        
          | Ocean::IO::OutputBitstream::OutputBitstream  | 
          ( | 
          std::ostream &  | 
          stream | ) | 
           | 
        
      
 
Creates a new output bitstream object. 
- Parameters
 - 
  
    | stream | The output stream object that is encapsulated by this object  | 
  
   
 
 
◆ operator bool()
  
  
      
        
          | Ocean::IO::OutputBitstream::operator bool  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlineexplicit   | 
  
 
Returns whether this bitstream object is valid and can be used. 
- Returns
 - True, if so 
 
 
 
◆ size()
      
        
          | unsigned long long Ocean::IO::OutputBitstream::size  | 
          ( | 
           | ) | 
           const | 
        
      
 
Returns the current size of the bitstream, in bytes. 
- Returns
 - The current stream size in bytes, -1 if the current size cannot be determined 
 
 
 
◆ write() [1/2]
template<typename T > 
      
        
          | bool Ocean::IO::OutputBitstream::write  | 
          ( | 
          const T &  | 
          value | ) | 
           | 
        
      
 
Writes a data object to the stream and moves the internal position inside the bitstream accordingly. 
If the write process fails, the new position of the bitstream may be arbitrary.
 Beware: It's recommended to provide the template argument explicitly to avoid type ambiguities.
 
- Parameters
 - 
  
    | value | The value that will be written  | 
  
   
- Returns
 - True, if the value could be written successfully 
 
- Template Parameters
 - 
  
    | T | the data type that is written, ensure that only supported data types are applied  | 
  
   
 
 
◆ write() [2/2]
      
        
          | bool Ocean::IO::OutputBitstream::write  | 
          ( | 
          const void *  | 
          data,  | 
        
        
           | 
           | 
          const size_t  | 
          size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Writes a defined memory block from a given buffer into the stream and moves the internal position inside the bitstream accordingly. 
If the write process fails, the new position of the bitstream may be arbitrary. 
- Parameters
 - 
  
    | data | The buffer that will be written, may be nullptr if size is 0  | 
    | size | The number of bytes that will be written, with range [0, infinity  | 
  
   
- Returns
 - True, if succeeded 
 
 
 
◆ outputStream
  
  
      
        
          | std::ostream& Ocean::IO::OutputBitstream::outputStream | 
         
       
   | 
  
protected   | 
  
 
The internal output stream object that this object encapsulates. 
 
 
The documentation for this class was generated from the following file: