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

#include <cartotype_stream.h>

Inheritance diagram for CartoTypeCore::MemoryInputStream:
CartoTypeCore::InputStream

Public Member Functions

 MemoryInputStream (const uint8_t *aData, size_t aLength)
 
 MemoryInputStream (const std::string &aString)
 
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::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 ()
 

Detailed Description

An input stream for a contiguous piece of memory.

Constructor & Destructor Documentation

◆ MemoryInputStream() [1/2]

CartoTypeCore::MemoryInputStream::MemoryInputStream ( const uint8_t *  aData,
size_t  aLength 
)
inline

Creates a memory input stream to read from data of aLength bytes starting at aData.

◆ MemoryInputStream() [2/2]

CartoTypeCore::MemoryInputStream::MemoryInputStream ( const std::string &  aString)
inlineexplicit

Creates a memory input stream to read from a std::string.

Member Function Documentation

◆ Copy()

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

Creates a copy of the stream.

Implements CartoTypeCore::InputStream.

◆ StreamEnd()

bool CartoTypeCore::MemoryInputStream::StreamEnd ( ) const
inlineoverridevirtual

Returns whether the end of the stream has been reached.

Implements CartoTypeCore::InputStream.

◆ StreamLength()

int64_t CartoTypeCore::MemoryInputStream::StreamLength ( )
inlineoverridevirtual

Returns the number of bytes in the stream.

Implements CartoTypeCore::InputStream.

◆ StreamPosition()

int64_t CartoTypeCore::MemoryInputStream::StreamPosition ( )
inlineoverridevirtual

Returns the current position.

Implements CartoTypeCore::InputStream.

◆ StreamRead()

void CartoTypeCore::MemoryInputStream::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::MemoryInputStream::StreamSeek ( int64_t  aPosition)
overridevirtual

Seeks to the specified position.

Implements CartoTypeCore::InputStream.


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