Public Member Functions | List of all members
gnsstk::FFBinaryStream Class Referenceabstract

Detailed Description

This is an FFStream that is required to be binary. It also includes functions for reading and writing binary file. Otherwise, this is the same as FFStream.

Definition at line 60 of file FFBinaryStream.hpp.

#include <FFBinaryStream.hpp>

Inheritance diagram for gnsstk::FFBinaryStream:
Inheritance graph
[legend]

Public Member Functions

 FFBinaryStream ()
 Default constructor. More...
 
 FFBinaryStream (const char *fn, std::ios::openmode mode=std::ios::in|std::ios::binary)
 
void getData (char *buff, size_t length)
 
void getData (double &v)
 
void getData (float &v)
 
void getData (int16_t &v)
 
void getData (int32_t &v)
 
void getData (int64_t &v)
 
void getData (int8_t &v)
 
void getData (uint16_t &v)
 
void getData (uint32_t &v)
 
void getData (uint64_t &v)
 
void getData (uint8_t &v)
 
virtual bool isStreamLittleEndian () const noexcept=0
 
virtual void open (const char *fn, std::ios::openmode mode)
 Overrides open to ensure binary mode opens. More...
 
void writeData (const char *buff, size_t length)
 
void writeData (double v)
 
void writeData (float v)
 
void writeData (int16_t v)
 
void writeData (int32_t v)
 
void writeData (int64_t v)
 
void writeData (int8_t v)
 
void writeData (uint16_t v)
 
void writeData (uint32_t v)
 
void writeData (uint64_t v)
 
void writeData (uint8_t v)
 
virtual ~FFBinaryStream ()
 destructor More...
 
- Public Member Functions inherited from gnsstk::FFStream
void conditionalThrow (void)
 
void dumpState (std::ostream &s=std::cout) const
 A function to help debug FFStreams. More...
 
 FFStream ()
 Default constructor, initialize internal data. More...
 
 FFStream (const char *fn, std::ios::openmode mode=std::ios::in)
 
 FFStream (const std::string &fn, std::ios::openmode mode=std::ios::in)
 
virtual void open (const std::string &fn, std::ios::openmode mode)
 
virtual ~FFStream ()
 Virtual destructor, close the stream etc. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from gnsstk::FFStream
static bool isFFStream (std::istream &i)
 Check if the input stream is the kind of RinexObsStream. More...
 
- Public Attributes inherited from gnsstk::FFStream
std::string filename
 file name More...
 
FFStreamError mostRecentException
 This stores the most recently thrown exception. More...
 
unsigned int recordNumber
 keeps track of the number of records read More...
 
- Protected Member Functions inherited from gnsstk::FFStream
virtual void tryFFStreamGet (FFData &rec)
 
virtual void tryFFStreamPut (const FFData &rec)
 

Constructor & Destructor Documentation

◆ FFBinaryStream() [1/2]

gnsstk::FFBinaryStream::FFBinaryStream ( )

Default constructor.

Definition at line 49 of file FFBinaryStream.cpp.

◆ ~FFBinaryStream()

gnsstk::FFBinaryStream::~FFBinaryStream ( )
virtual

destructor

Definition at line 56 of file FFBinaryStream.cpp.

◆ FFBinaryStream() [2/2]

gnsstk::FFBinaryStream::FFBinaryStream ( const char *  fn,
std::ios::openmode  mode = std::ios::in|std::ios::binary 
)

Constructor - opens the stream in binary mode if not set.

Parameters
[in]fnfile name.
[in]modefile open mode

Definition at line 63 of file FFBinaryStream.cpp.

Member Function Documentation

◆ getData() [1/11]

void gnsstk::FFBinaryStream::getData ( char *  buff,
size_t  length 
)

Read raw data into a buffer.

Parameters
[out]buffthe buffer to store the stream data into. Must be pre-allocated to at least length bytes.
[in]lengththe number of bytes to read from the stream.
Exceptions
EndOfFile
FFStreamError

Definition at line 78 of file FFBinaryStream.cpp.

◆ getData() [2/11]

void gnsstk::FFBinaryStream::getData ( double &  v)
inline

Definition at line 203 of file FFBinaryStream.hpp.

◆ getData() [3/11]

void gnsstk::FFBinaryStream::getData ( float &  v)
inline

Definition at line 198 of file FFBinaryStream.hpp.

◆ getData() [4/11]

void gnsstk::FFBinaryStream::getData ( int16_t &  v)
inline

Definition at line 183 of file FFBinaryStream.hpp.

◆ getData() [5/11]

void gnsstk::FFBinaryStream::getData ( int32_t &  v)
inline

Definition at line 188 of file FFBinaryStream.hpp.

◆ getData() [6/11]

void gnsstk::FFBinaryStream::getData ( int64_t &  v)
inline

Definition at line 193 of file FFBinaryStream.hpp.

◆ getData() [7/11]

void gnsstk::FFBinaryStream::getData ( int8_t &  v)
inline

Definition at line 177 of file FFBinaryStream.hpp.

◆ getData() [8/11]

void gnsstk::FFBinaryStream::getData ( uint16_t &  v)
inline

Definition at line 162 of file FFBinaryStream.hpp.

◆ getData() [9/11]

void gnsstk::FFBinaryStream::getData ( uint32_t &  v)
inline

Definition at line 167 of file FFBinaryStream.hpp.

◆ getData() [10/11]

void gnsstk::FFBinaryStream::getData ( uint64_t &  v)
inline

Definition at line 172 of file FFBinaryStream.hpp.

◆ getData() [11/11]

void gnsstk::FFBinaryStream::getData ( uint8_t &  v)
inline

Reads typed data directly from the stream in binary form.

Exceptions
EndOfFile
FFStreamErrorwhen the size of the data read from this stream doesn't match the size of a T-object.
Returns
the decoded data

Definition at line 156 of file FFBinaryStream.hpp.

◆ isStreamLittleEndian()

virtual bool gnsstk::FFBinaryStream::isStreamLittleEndian ( ) const
pure virtualnoexcept

Child classes must defined this method to determine how decodeData and encodeData behave with respect to byte ordering. This defines the byte ordering of the file format.

Implemented in gnsstk::AshtechStream, gnsstk::BinexStream, FFBinaryStreamBE, and FFBinaryStreamLE.

◆ open()

void gnsstk::FFBinaryStream::open ( const char *  fn,
std::ios::openmode  mode 
)
virtual

Overrides open to ensure binary mode opens.

Reimplemented from gnsstk::FFStream.

Reimplemented in gnsstk::AshtechStream.

Definition at line 71 of file FFBinaryStream.cpp.

◆ writeData() [1/11]

void gnsstk::FFBinaryStream::writeData ( const char *  buff,
size_t  length 
)

Definition at line 107 of file FFBinaryStream.cpp.

◆ writeData() [2/11]

void gnsstk::FFBinaryStream::writeData ( double  v)
inline

Definition at line 256 of file FFBinaryStream.hpp.

◆ writeData() [3/11]

void gnsstk::FFBinaryStream::writeData ( float  v)
inline

Definition at line 251 of file FFBinaryStream.hpp.

◆ writeData() [4/11]

void gnsstk::FFBinaryStream::writeData ( int16_t  v)
inline

Definition at line 236 of file FFBinaryStream.hpp.

◆ writeData() [5/11]

void gnsstk::FFBinaryStream::writeData ( int32_t  v)
inline

Definition at line 241 of file FFBinaryStream.hpp.

◆ writeData() [6/11]

void gnsstk::FFBinaryStream::writeData ( int64_t  v)
inline

Definition at line 246 of file FFBinaryStream.hpp.

◆ writeData() [7/11]

void gnsstk::FFBinaryStream::writeData ( int8_t  v)
inline

Definition at line 230 of file FFBinaryStream.hpp.

◆ writeData() [8/11]

void gnsstk::FFBinaryStream::writeData ( uint16_t  v)
inline

Definition at line 215 of file FFBinaryStream.hpp.

◆ writeData() [9/11]

void gnsstk::FFBinaryStream::writeData ( uint32_t  v)
inline

Definition at line 220 of file FFBinaryStream.hpp.

◆ writeData() [10/11]

void gnsstk::FFBinaryStream::writeData ( uint64_t  v)
inline

Definition at line 225 of file FFBinaryStream.hpp.

◆ writeData() [11/11]

void gnsstk::FFBinaryStream::writeData ( uint8_t  v)
inline

Writes a T-object directly from the stream in binary form.

Parameters
[in]vthe data to be written.
Exceptions
FFStreamErrorwhen the size of the data written to this stream doesn't match the size of a T-object.

Definition at line 209 of file FFBinaryStream.hpp.


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


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:44