45 mutable unsigned char *mP;
46 unsigned char *mStart;
49 void verifyBound(
int size )
const;
51 template<
typename T>
void read( T &v )
const
53 verifyBound(
sizeof v );
54 memcpy( &v, mP,
sizeof v );
58 template<
typename T>
void write( T &v )
const
60 verifyBound(
sizeof v );
61 memcpy( mP, &v,
sizeof v );
65 void write(
const QByteArray &data )
const
67 verifyBound( data.length() );
68 memcpy( mP, data.constData(), data.length() );
81#if (!defined(Q_OS_ANDROID) && !defined(Q_PROCESSOR_X86_32)) || (defined(Q_OS_ANDROID) && defined(__aarch64__))
95#if (!defined(Q_OS_ANDROID) && !defined(Q_PROCESSOR_X86_32)) || (defined(Q_OS_ANDROID) && defined(__aarch64__))
110 inline operator unsigned char *()
const {
return mP; }
SIP_SKIP
140 mutable unsigned char *
mP;
149 void verifyBound(
int size )
const SIP_SKIP;
157 verifyBound(
sizeof v );
158 memcpy( &v, mP,
sizeof( v ) );
189 inline operator const unsigned char *()
const {
return mP; }
SIP_SKIP
198 template<
typename T>
void endian_swap( T &value )
const SIP_SKIP
200 char *data =
reinterpret_cast<char *
>( &value );
201 const std::size_t n =
sizeof( value );
202 for ( std::size_t i = 0, m = n / 2; i < m; ++i )
204 std::swap( data[i], data[n - 1 - i] );
QgsWkbTypes::Type mWkbType
const QgsConstWkbPtr & operator>>(int &v) const
const QgsConstWkbPtr & operator>>(unsigned int &v) const
int remaining() const
remaining
void read(T &v) const
Read a value.
void operator-=(int n) const
void operator+=(int n) const
const QgsConstWkbPtr & operator>>(float &r) const
const QgsConstWkbPtr & operator>>(char &v) const
Defines a QGIS exception class.
Custom exception class for Wkb related exceptions.
QgsWkbException(QString const &what)
const QgsWkbPtr & operator>>(double &v) const
int remaining() const
remaining
QgsWkbPtr & operator<<(const QByteArray &data)
Append data from a byte array.
QgsWkbPtr & operator<<(double v)
Writes a double to the pointer.
int writtenSize() const
writtenSize
const QgsWkbPtr & operator>>(unsigned int &v) const
QgsWkbPtr & operator<<(int v)
Writes an int to the pointer.
const QgsWkbPtr & operator>>(float &r) const
const QgsWkbPtr & operator>>(qsizetype &r) const
Reads an integer value into a qsizetype.
void operator+=(int n) const
QgsWkbPtr & operator<<(QgsWkbTypes::Type v)
Writes a WKB type value to the pointer.
const QgsWkbPtr & operator>>(char &v) const
QgsWkbPtr & operator<<(qsizetype r)
Writes a size as int to the pointer.
QgsWkbPtr & operator<<(unsigned int v)
Writes an unsigned int to the pointer.
const QgsWkbPtr & operator>>(int &v) const
QgsWkbPtr & operator<<(float r)
Writes a float to the pointer.
const QgsWkbPtr & operator>>(QgsWkbTypes::Type &v) const
QgsWkbPtr & operator<<(char v)
Writes a char to the pointer.
Type
The WKB type describes the number of dimensions a geometry has.
QDataStream & operator>>(QDataStream &in, QgsFeature &feature)
Reads a feature from stream in into feature. QGIS version compatibility is not guaranteed.