doc stream
This commit is contained in:
@@ -54,8 +54,10 @@
|
||||
//! bool binaryStreamTakeImp (void * d, size_t s);
|
||||
//! ssize_t binaryStreamSizeImp () const;
|
||||
//! \endcode
|
||||
//! \~english function binaryStreamSizeImp must return -1 if size unknown
|
||||
//! \~russian функция binaryStreamSizeImp должна возвращать -1 если нет информации о размере
|
||||
//! \~english Function binaryStreamSizeImp should return -1 if size unknown.
|
||||
//! \~russian Функция binaryStreamSizeImp должна возвращать -1 если нет информации о размере.
|
||||
//! \~english See details \ref iostream.
|
||||
//! \~russian Подробнее \ref iostream.
|
||||
template<typename P>
|
||||
class PIBinaryStream {
|
||||
public:
|
||||
@@ -78,7 +80,7 @@ public:
|
||||
|
||||
//! \~russian Узнать оставшийся размер
|
||||
//!\~\details
|
||||
//!\~russian возвращает -1 если нет информации о размере
|
||||
//!\~russian Возвращает -1 если нет информации о размере
|
||||
ssize_t binaryStreamSize() const {
|
||||
return static_cast<P*>(this)->binaryStreamSizeImp();
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
//! It can be constructed from any data and size.
|
||||
//! You can use %PIByteArray as binary stream
|
||||
//! to serialize/deserialize any objects and data.
|
||||
//! See details \ref iostream.
|
||||
//! This class use PIDeque<uchar> and provide some handle function
|
||||
//! to manipulate it.
|
||||
//! \~russian
|
||||
@@ -35,46 +36,22 @@
|
||||
//! Он может быть сконструирован из любых даных.
|
||||
//! Можно использовать %PIByteArray как потоковый объект
|
||||
//! для сериализации/десериализации любых типов и данных.
|
||||
//! Подробнее \ref iostream.
|
||||
//! Этот класс использует PIDeque<uchar> и предоставляет набор
|
||||
//! удобных методов для работы с байтами.
|
||||
//!
|
||||
//! \~english \section PIByteArray_sec0 Usage
|
||||
//! \~russian \section PIByteArray_sec0 Использование
|
||||
//! \~english
|
||||
//! %PIByteArray can be used to store custom data and manipulate it. There are many
|
||||
//! stream operators to store/restore common types to byte array. Store operators
|
||||
//! places data at the end of array, restore operators takes data from the beginning
|
||||
//! %PIByteArray subclass PIBinaryStream and can be used to store custom data and manipulate it.
|
||||
//! Store operators places data at the end of array, restore operators takes data from the beginning
|
||||
//! of array.
|
||||
//! In addition there are Hex and Base64 convertions
|
||||
//! In addition there are Hex and Base64 convertions.
|
||||
//! \~russian
|
||||
//! %PIByteArray может быть использован для сохранения любых данных и работы с ними.
|
||||
//! Он предоставляет множество операторов для сохранения/извлечения общих типов.
|
||||
//! %PIByteArray наследован от PIBinaryStream и может быть использован для сохранения любых данных и работы с ними.
|
||||
//! Операторы сохранения добавляют данные в конец массива, а операторы извлечения
|
||||
//! берут данные из его начала.
|
||||
//!
|
||||
//! \~english
|
||||
//! One of the major usage of %PIByteArray is stream functions. You can form binary
|
||||
//! packet from many types (also dynamic types, e.g. PIVector) with one line:
|
||||
//! \~russian
|
||||
//! Один из основных сценариев использования %PIByteArray - это потоковый объект.
|
||||
//! Можно сформировать пакет бинарных данных из многих типов (также и контейнеров,
|
||||
//! например, PIVector) в одну строку:
|
||||
//! \~\snippet pibytearray.cpp 0
|
||||
//!
|
||||
//! \~english
|
||||
//! Or you can descibe stream operator of your own type and store/restore vectors of
|
||||
//! your type:
|
||||
//! \~russian
|
||||
//! Также можно описать операторы сохранения/извлечения для собственных типов:
|
||||
//! \~\snippet pibytearray.cpp 1
|
||||
//!
|
||||
//! \~english
|
||||
//! For store/restore custom data blocks there is PIByteArray::RawData class. Stream
|
||||
//! operators of this class simply store/restore data block to/from byte array:
|
||||
//! \~russian
|
||||
//! Для сохранения/извлечения блоков произвольных данных используется класс PIByteArray::RawData.
|
||||
//! Потоковые операторы для него просто сохраняют/извлекают блоки байтов:
|
||||
//! \~\snippet pibytearray.cpp 2
|
||||
//! Также есть методы для преобразования в Hex и Base64.
|
||||
//!
|
||||
//! \~english \section PIByteArray_sec1 Attention
|
||||
//! \~russian \section PIByteArray_sec1 Внимание
|
||||
|
||||
@@ -47,8 +47,16 @@ public:
|
||||
|
||||
PIMemoryBlock & operator =(const PIMemoryBlock & o) {d = o.d; s = o.s; return *this;}
|
||||
|
||||
//! \~english Pointer to data
|
||||
//! \~russian Указатель на данные
|
||||
void * data() {return d;}
|
||||
|
||||
//! \~english Pointer to data
|
||||
//! \~russian Указатель на данные
|
||||
const void * data() const {return d;}
|
||||
|
||||
//! \~english Size of data in bytes
|
||||
//! \~russian Размер данных в байтах
|
||||
int size() const {return s;}
|
||||
|
||||
private:
|
||||
@@ -57,6 +65,8 @@ private:
|
||||
|
||||
};
|
||||
|
||||
//! \~english Returns PIMemoryBlock from pointer to variable "ptr" with type "T"
|
||||
//! \~russian Возвращает PIMemoryBlock из указателя "ptr" типа "T"
|
||||
template<typename T>
|
||||
PIMemoryBlock createMemoryBlock(const T * ptr) {return PIMemoryBlock(ptr, sizeof(T));}
|
||||
|
||||
|
||||
@@ -175,8 +175,8 @@ public:
|
||||
return readUntil(spaces);
|
||||
}
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
//! \~english Read C-word, skip leading and until non C-identifier
|
||||
//! \~russian Читает C-слово, пропуская начальные и до следующих символов, не являющихся C-идентификаторами
|
||||
PIString readCWord() {
|
||||
static PIConstChars chars(" \t\n\r:;%$&#@!?~/*-+=.,\\\"'`[](){}<>");
|
||||
return readUntil(chars);
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
//! \~\brief
|
||||
//! \~english PIBinaryStream functionality for PIIODevice.
|
||||
//! \~russian Функциональность PIBinaryStream для PIIODevice.
|
||||
//! \~english See details \ref iostream
|
||||
//! \~russian Подробнее \ref iostream
|
||||
class PIP_EXPORT PIIOBinaryStream: public PIBinaryStream<PIIOBinaryStream> {
|
||||
public:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user