CartoType C++ API 8.8-7-gb35e4dc71
for Windows, Linux, Qt and other platforms supporting C++ development
Public Member Functions | Static Public Member Functions | List of all members
CartoTypeCore::SimpleFileInputStream Class Reference

#include <cartotype_stream.h>

Inheritance diagram for CartoTypeCore::SimpleFileInputStream:
CartoTypeCore::InputStream

Public Member Functions

 SimpleFileInputStream (const std::string &aFileName, size_t aBufferSize=64 *1024)
 
void StreamRead (const uint8_t *&aPointer, size_t &aLength) override
 
bool StreamEnd () const override
 
void StreamSeek (int64_t aPosition) override
 
int64_t StreamPosition () override
 
int64_t StreamLength () override
 
std::string StreamName () override
 
std::unique_ptr< InputStreamCopy () override
 
- Public Member Functions inherited from CartoTypeCore::InputStream
virtual ~InputStream ()
 
virtual std::unique_ptr< InputStreamCopy ()=0
 
virtual int64_t StreamLength ()=0
 
virtual std::string StreamName ()
 
void Seek (int64_t aPosition)
 
int64_t Position () const
 
bool EndOfData () const
 
uint8_t ReadUint8 ()
 
uint16_t ReadUint16 ()
 
uint16_t ReadUint16LE ()
 
uint32_t ReadUint32 ()
 
uint32_t ReadUint32LE ()
 
uint64_t ReadUint40 ()
 
int64_t ReadFilePos ()
 
int64_t ReadFilePosWithDegreeSquare ()
 
int32_t FilePosBytes () const
 
void SetFilePosBytes (int32_t aBytes)
 
uint32_t ReadUintOfSize (int32_t aSize)
 
uint32_t ReadUintOfSizeLE (int32_t aSize)
 
uint64_t ReadUint ()
 
int64_t ReadInt ()
 
uint32_t ReadUintMax32 ()
 
int32_t ReadIntMax32 ()
 
float ReadFloat ()
 
float ReadFloatLE ()
 
double ReadDouble ()
 
double ReadDoubleLE ()
 
void ReadLine (uint8_t *aBuffer, size_t aMaxBytes, size_t &aActualBytes)
 
void ReadBytes (uint8_t *aBuffer, size_t aMaxBytes, size_t &aActualBytes)
 
void Read (const uint8_t *&aPointer, size_t &aLength)
 
String ReadNullTerminatedString ()
 
String ReadUtf8StringWithLength ()
 
std::string ReadUtf8StringWithLengthToStdString ()
 
std::string ReadUtf8StringToStdString ()
 
String ReadString (size_t *aBytesRead=nullptr)
 
void SkipUtf8String (size_t *aBytesRead=nullptr)
 
void Skip (int64_t aBytes)
 
const uint8_t * Read (size_t aBytes)
 
uint64_t ReadUint48 ()
 
uint64_t ReadUint56 ()
 

Static Public Member Functions

static std::unique_ptr< SimpleFileInputStreamNew (Result &aError, const std::string &aFileName, size_t aBufferSize=64 *1024)
 

Detailed Description

A simple file input stream that does not use seek when reading sequentially. If the first part of the filename, before any extensions, is '-', it reads from standard input.

Constructor & Destructor Documentation

◆ SimpleFileInputStream()

CartoTypeCore::SimpleFileInputStream::SimpleFileInputStream ( const std::string &  aFilename,
size_t  aBufferSize = 64 * 1024 
)

Creates a SimpleFileInputStream to read from the file aFileName. Throws an exception if the file cannot be opened.

Creates a stream to read from the file aFilename, optionally supplying a buffer size in bytes.

Member Function Documentation

◆ Copy()

std::unique_ptr< InputStream > CartoTypeCore::SimpleFileInputStream::Copy ( )
overridevirtual

Creates a copy of the stream.

Implements CartoTypeCore::InputStream.

◆ New()

std::unique_ptr< SimpleFileInputStream > CartoTypeCore::SimpleFileInputStream::New ( Result aError,
const std::string &  aFileName,
size_t  aBufferSize = 64 * 1024 
)
static

Creates a SimpleFileInputStream to read from the file aFileName. Returns the result in aError.

◆ StreamEnd()

bool CartoTypeCore::SimpleFileInputStream::StreamEnd ( ) const
overridevirtual

Returns whether the end of the stream has been reached.

Implements CartoTypeCore::InputStream.

◆ StreamLength()

int64_t CartoTypeCore::SimpleFileInputStream::StreamLength ( )
overridevirtual

Returns the number of bytes in the stream.

Implements CartoTypeCore::InputStream.

◆ StreamName()

std::string CartoTypeCore::SimpleFileInputStream::StreamName ( )
inlineoverridevirtual

Returns the file name or URI associated with the stream if any. Return the empty string is there is no file name or URI.

Reimplemented from CartoTypeCore::InputStream.

◆ StreamPosition()

int64_t CartoTypeCore::SimpleFileInputStream::StreamPosition ( )
overridevirtual

Returns the current position.

Implements CartoTypeCore::InputStream.

◆ StreamRead()

void CartoTypeCore::SimpleFileInputStream::StreamRead ( const uint8_t *&  aPointer,
size_t &  aLength 
)
overridevirtual

Reads some data into a buffer owned by the InputStream object and returns a pointer to it in aPointer. Returns the number of bytes of data in aLength. This function will return at least one byte if there are bytes remaining in the stream. The pointer is valid until the next call to Read.

Implements CartoTypeCore::InputStream.

◆ StreamSeek()

void CartoTypeCore::SimpleFileInputStream::StreamSeek ( int64_t  aPosition)
overridevirtual

Seeks to the specified position.

Implements CartoTypeCore::InputStream.


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