PIP 5.6.1
Platform-Independent Primitives
Файлы | Пространства имен | Классы | Функции | Переменные
Types

Базовые типы, контейнеры значений и утилиты времени. Подробнее...

Файлы

файл  pibitarray.h
 Упакованный массив битов
 
файл  pibytearray.h
 Байтовый массив
 
файл  pidatetime.h
 Типы времени и даты
 
файл  piflags.h
 Универсальные флаги
 
файл  pinetworkaddress.h
 Сетевой адрес
 
файл  pipropertystorage.h
 Массив свойств
 
файл  pisystemtime.h
 Типы и методы системного времени
 
файл  pitime.h
 Системное время, время и дата
 
файл  pitime_win.h
 Преобразования PITime для Windows.
 
файл  pitypesmodule.h
 Подключение основных заголовков модуля Types.
 
файл  pivaluetree.h
 Дерево атрибутированных значений
 
файл  pivariant.h
 Вариативный тип
 
файл  pivariantsimple.h
 Простой вариативный тип
 
файл  pivarianttypes.h
 Типы для PIVariant.
 

Пространства имен

namespace  PIVariantTypes
 Пространство имен содержит некоторые типы для PIVariant.
 

Классы

class  PIBitArray
 Класс PIBitArray представляет собой компактный массив битов. Подробнее...
 
class  PIByteArray
 Класс PIByteArray предоставляет массив байтов с эффективным управлением памятью и различными операциями манипулирования. Подробнее...
 
class  PITime
 Календарное время. Подробнее...
 
class  PIDate
 Календарная дата. Подробнее...
 
class  PIDateTime
 Календарное дата и время. Подробнее...
 
class  PIFlags< Enum >
 Класс PIFlags является шаблонным контейнером для битовых флагов с различными побитовыми операциями и операторами сравнения. Подробнее...
 
class  PINetworkAddress
 Класс для работы с сетевым адресом, IP и портом. Подробнее...
 
class  PIPropertyStorage
 Этот класс предоставляет ключ-значение хранение свойств. Подробнее...
 
class  PIPropertyStorage::Property
 Элемент PIPropertyStorage. Подробнее...
 
class  PISystemTime
 Системное время с точностью до наносекунд. Подробнее...
 
class  PISystemTime::Frequency
 Тип частоты. Подробнее...
 
class  PITimeMeasurer
 Измерение времени. Подробнее...
 
class  PIValueTree
 Класс PIValueTree представляет собой древовидную структуру значений PIVariant с атрибутами. Подробнее...
 
class  PIVariant
 Вариантный тип. Подробнее...
 
class  PIVariantSimple
 Легковесный строго типизированный вариант для одного значения. Подробнее...
 
struct  PIVariantTypes::Enumerator
 Пара имя-значение. Подробнее...
 
struct  PIVariantTypes::Enum
 Набор PIVariantTypes::Enumerator. Подробнее...
 
struct  PIVariantTypes::File
 Описание положения файла. Подробнее...
 
struct  PIVariantTypes::Dir
 Описание директории. Подробнее...
 
struct  PIVariantTypes::Color
 32-битный цвет. Подробнее...
 
struct  PIVariantTypes::IODevice
 Variant-описание, используемое для создания или настройки PIIODevice. Подробнее...
 

Функции

 PIByteArray::PIByteArray ()
 Создает пустой байтовый массив.
 
 PIByteArray::PIByteArray (const PIByteArray &o)
 Создает копию байтового массива "o".
 
 PIByteArray::PIByteArray (const PIDeque< uchar > &o)
 Создает копию байтового массива "o".
 
 PIByteArray::PIByteArray (PIByteArray &&o)
 Конструктор перемещения.
 
 PIByteArray::PIByteArray (const uint size)
 Создает заполненный "0" байтовый массив размером "size".
 
 PIByteArray::PIByteArray (const void *data, const uint size)
 Создает байтовый массив из данных по указателю "data" размером "size".
 
 PIByteArray::PIByteArray (const uint size, uchar t)
 Создает заполненный "t" байтовый массив размером "size".
 
 PIByteArray::PIByteArray (std::initializer_list< uchar > init_list)
 Создает массив из списка инициализации C++11. Подробнее...
 
void PIByteArray::swap (PIByteArray &other)
 Меняет местами массив v с этим массивом. Подробнее...
 
PIDeque< uchar >::iterator PIByteArray::begin ()
 Итератор на первый элемент. Подробнее...
 
PIDeque< uchar >::iterator PIByteArray::end ()
 Итератор на элемент, следующий за последним элементом. Подробнее...
 
PIDeque< uchar >::reverse_iterator PIByteArray::rbegin ()
 Обратный итератор на первый элемент. Подробнее...
 
PIDeque< uchar >::reverse_iterator PIByteArray::rend ()
 Обратный итератор на элемент, следующий за последним элементом. Подробнее...
 
size_t PIByteArray::size () const
 Количество элементов массива. Подробнее...
 
ssize_t PIByteArray::size_s () const
 Количество элементов массива в виде знакового числа. Подробнее...
 
size_t PIByteArray::length () const
 Синоним size(). Подробнее...
 
size_t PIByteArray::capacity () const
 Количество элементов, для которого сейчас выделена память массивом. Подробнее...
 
bool PIByteArray::isEmpty () const
 Проверяет пуст ли массив. Подробнее...
 
bool PIByteArray::isNotEmpty () const
 Проверяет не пуст ли массив. Подробнее...
 
bool PIByteArray::any (std::function< bool(uchar e)> test) const
 Проверяет, удовлетворяет ли какой-либо элемент массива условию, заданному в передаваемой функции test. Подробнее...
 
bool PIByteArray::every (std::function< bool(uchar e)> test) const
 Проверяет, удовлетворяют ли все элементы массива условию, заданному в передаваемой функции test. Подробнее...
 
uchar & PIByteArray::operator[] (size_t index)
 Полный доступ к элементу по индексу index. Подробнее...
 
uchar PIByteArray::at (size_t index) const
 Доступ исключительно на чтение к элементу по индексу index. Подробнее...
 
uchar & PIByteArray::back ()
 Последний элемент массива. Подробнее...
 
uchar & PIByteArray::front ()
 Первый элемент массива. Подробнее...
 
bool PIByteArray::contains (uchar e, ssize_t start=0) const
 Проверяет наличие элемента e в массиве. Подробнее...
 
int PIByteArray::entries (uchar e, ssize_t start=0) const
 Подсчитывает количество элементов, совпадающих с элементом e в массиве. Подробнее...
 
int PIByteArray::entries (std::function< bool(uchar e)> test, ssize_t start=0) const
 Подсчитывает количество элементов в массиве, проходящих по условию, заданному в передаваемой функции test. Подробнее...
 
ssize_t PIByteArray::indexOf (const uchar &e, ssize_t start=0) const
 Возвращает первый индекс, по которому данный элемент e может быть найден в массиве или -1, если такого индекса нет. Подробнее...
 
ssize_t PIByteArray::indexWhere (std::function< bool(const uchar &e)> test, ssize_t start=0) const
 Возвращает первый индекс элемента проходящего по условию, заданному в передаваемой функции test, или -1, если таких элементов нет. Подробнее...
 
ssize_t PIByteArray::lastIndexOf (const uchar &e, ssize_t start=-1) const
 Возвращает последний индекс, по которому данный элемент e может быть найден в массиве или -1, если такого индекса нет. Подробнее...
 
ssize_t PIByteArray::lastIndexWhere (std::function< bool(const uchar &e)> test, ssize_t start=-1) const
 Возвращает последний индекс элемента проходящего по условию, заданному в передаваемой функции test, или -1, если таких элементов нет. Подробнее...
 
uchar * PIByteArray::data (size_t index=0)
 Указатель на память массива Подробнее...
 
const uchar * PIByteArray::data (size_t index=0) const
 Указатель на память массива только для чтения. Подробнее...
 
PIByteArrayPIByteArray::clear ()
 Очищает массив, удаляет все элементы. Подробнее...
 
PIByteArrayPIByteArray::fill (uchar e=0)
 Заполняет весь массив копиями элемента 'e'. Подробнее...
 
PIByteArrayPIByteArray::fill (std::function< uchar(size_t i)> f)
 Заполняет весь массив результатом вызова функции 'f(size_t i)'. Подробнее...
 
PIByteArrayPIByteArray::assign (uchar e=0)
 Тоже самое что и fill(). Подробнее...
 
PIByteArrayPIByteArray::assign (size_t new_size, uchar e)
 Сначала делает resize(new_size), затем fill(e). Подробнее...
 
PIByteArrayPIByteArray::resize (size_t new_size, uchar e=0)
 Устанавливает размер массива, новые элементы копируются из e. Подробнее...
 
PIByteArrayPIByteArray::resize (size_t new_size, std::function< uchar(size_t i)> f)
 Устанавливает размер массива, новые элементы создаются функцией f(size_t i). Подробнее...
 
PIByteArray PIByteArray::resized (uint new_size) const
 Возвращает копию байтового массива с измененным размером
 
PIByteArrayPIByteArray::reserve (size_t new_size)
 Резервируется память под как минимум new_size элементов. Подробнее...
 
PIByteArrayPIByteArray::insert (size_t index, uchar e=0)
 Вставляет значение e в позицию index в массиве. Подробнее...
 
PIByteArrayPIByteArray::insert (size_t index, const PIByteArray &v)
 Вставляет массив v в позицию index в массиве. Подробнее...
 
PIByteArrayPIByteArray::insert (size_t index, std::initializer_list< uchar > init_list)
 Вставляет элементы в позицию index в массиве. Подробнее...
 
PIByteArrayPIByteArray::remove (size_t index, size_t count=1)
 Удаляет элементы из массива, начиная с позиции index в количестве count. Подробнее...
 
PIByteArray PIByteArray::getRange (size_t index, size_t count) const
 Возвращает подмассив с данными от индекса "index" и размером не более "count".
 
PIByteArray PIByteArray::takeRange (size_t index, size_t count)
 Вырезает подмассив, то есть кусок из текущего массива. Подробнее...
 
PIByteArrayPIByteArray::reverse ()
 Обращает порядок следования элементов этого массива. Подробнее...
 
PIByteArray PIByteArray::reversed () const
 Возвращает перевернутый массив. Подробнее...
 
PIByteArrayPIByteArray::enlarge (ssize_t add_size, uchar e=0)
 Увеличивает или уменьшает размер массива на add_size элементов. Подробнее...
 
PIByteArrayPIByteArray::removeOne (uchar e)
 Удаляет первый элемент, который равен элементу e. Подробнее...
 
PIByteArrayPIByteArray::removeAll (uchar e)
 Удаляет все элементы, равные элементу e. Подробнее...
 
PIByteArrayPIByteArray::removeWhere (std::function< bool(uchar e)> test)
 Удаляет все элементы, удовлетворяющие условию, заданному в передаваемой функции test. Подробнее...
 
PIByteArrayPIByteArray::push_back (uchar e)
 Добавляет элемент e в конец массива. Подробнее...
 
PIByteArrayPIByteArray::push_back (std::initializer_list< uchar > init_list)
 Добавляет элементы в конец массива. Подробнее...
 
PIByteArrayPIByteArray::push_back (const PIByteArray &v)
 Добавляет массив v в конец массива. Подробнее...
 
PIByteArrayPIByteArray::push_back (const void *data_, int size_)
 Добавляет в конец массива данные по указателю "data" размером "size".
 
PIByteArrayPIByteArray::push_front (uchar e)
 Добавляет элемент e в начало массива. Подробнее...
 
PIByteArrayPIByteArray::push_front (const PIByteArray &v)
 Добавляет массив v в начало массива. Подробнее...
 
PIByteArrayPIByteArray::push_front (std::initializer_list< uchar > init_list)
 Добавляет элементы в начало массива. Подробнее...
 
PIByteArrayPIByteArray::prepend (uchar e)
 Добавляет элемент e в начало массива. Подробнее...
 
PIByteArrayPIByteArray::prepend (const PIByteArray &v)
 Добавляет массив v в начало массива. Подробнее...
 
PIByteArrayPIByteArray::prepend (std::initializer_list< uchar > init_list)
 Добавляет элементы в начало массива. Подробнее...
 
PIByteArrayPIByteArray::pop_back ()
 Удаляет один элемент с конца массива. Подробнее...
 
PIByteArrayPIByteArray::pop_front ()
 Удаляет один элемент с начала массива. Подробнее...
 
uchar PIByteArray::take_back ()
 Удаляет один элемент с начала массива и возвращает его. Подробнее...
 
uchar PIByteArray::take_front ()
 Удаляет один элемент с конца массива и возвращает его. Подробнее...
 
PIByteArray PIByteArray::filter (std::function< bool(const uchar &e)> test) const
 Возвращает новый массив со всеми элементами, прошедшими проверку, задаваемую в передаваемой функции test. Подробнее...
 
void PIByteArray::forEach (std::function< void(const uchar &e)> f) const
 Выполняет функцию void f(const uchar & e) для каждого элемента массива. Подробнее...
 
PIByteArrayPIByteArray::forEach (std::function< void(uchar &e)> f)
 Выполняет функцию void f(uchar & e) для каждого элемента массива. Подробнее...
 
template<typename ST >
PIDeque< ST > PIByteArray::map (std::function< ST(const uchar &e)> f) const
 Создаёт новый массив с результатом вызова указанной функции ST f(const T & e) для каждого элемента массива. Подробнее...
 
template<typename ST >
ST PIByteArray::reduce (std::function< ST(const uchar &e, const ST &acc)> f, const ST &initial=ST()) const
 Применяет функцию ST f(const uchar & e, const ST & acc) к каждому элементу массива (слева-направо), возвращает одно значение. Подробнее...
 
PIByteArrayPIByteArray::convertToBase64 ()
 Преобразует данные в Base 64 и возвращает текущий массив
 
PIByteArrayPIByteArray::convertFromBase64 ()
 Преобразует данные из Base 64 и возвращает текущий массив
 
PIByteArray PIByteArray::toBase64 () const
 Возвращает копию байтового массива, преобразованного в Base 64.
 
PIString PIByteArray::toString (int base=16) const
 Возвращает текстовое представление байтового массива, каждый байт в "base" системе, с пробелами
 
PIString PIByteArray::toHex () const
 Возвращает шестнадцатеричное представление массива, без пробелов. Оно использует цифры 0-9 и буквы a-f.
 
PIByteArrayPIByteArray::append (const void *data_, int size_)
 Добавляет в конец массива данные по указателю "data" размером "size".
 
PIByteArrayPIByteArray::append (const PIByteArray &data_)
 Добавляет в конец массива содержимое массива "data".
 
PIByteArrayPIByteArray::append (uchar t)
 Добавляет в конец массива байт "t".
 
PIByteArrayPIByteArray::append (std::initializer_list< uchar > init_list)
 Добавляет элементы в конец массива. Подробнее...
 
uchar PIByteArray::checksumPlain8 (bool inverse=true) const
 Возвращает 8-битную контрольную сумму Подробнее...
 
uint PIByteArray::checksumPlain32 (bool inverse=true) const
 Возвращает 32-битную контрольную сумму Подробнее...
 
uchar PIByteArray::checksumCRC8 () const
 Возвращает 8-битную контрольную сумму CRC-8.
 
ushort PIByteArray::checksumCRC16 () const
 Возвращает 16-битную контрольную сумму CRC-16.
 
uint PIByteArray::checksumCRC32 () const
 Возвращает 32-битную контрольную сумму CRC-32.
 
uint PIByteArray::hash () const
 Возвращает хэш содержимого
 
static PIByteArray PIByteArray::fromBase64 (const PIByteArray &base64)
 Возвращает массив из Base 64 представления
 
bool operator< (const PIByteArray &v0, const PIByteArray &v1)
 Оператор сравнения
 
bool operator> (const PIByteArray &v0, const PIByteArray &v1)
 Оператор сравнения
 
bool operator== (const PIByteArray &v0, const PIByteArray &v1)
 Оператор сравнения
 
bool operator!= (const PIByteArray &v0, const PIByteArray &v1)
 Оператор сравнения
 
PIByteArray operator& (const PIByteArray &v0, const PIByteArray &v1)
 Возвращает по-битовое "и" Если размеры не совпадают, возвращает пустой PIByteArray.
 
PIByteArray operator| (const PIByteArray &v0, const PIByteArray &v1)
 Возвращает по-битовое "или" Если размеры не совпадают, возвращает пустой PIByteArray.
 
PIByteArray operator^ (const PIByteArray &v0, const PIByteArray &v1)
 Возвращает по-битовое "исключающее или" Если размеры не совпадают, возвращает пустой PIByteArray.
 
PICout operator<< (PICout s, const PIByteArray &ba)
 Оператор вывода в PICout.
 
s binaryStreamAppend (v.data(), v.size())
 Оператор сохранения.
 
s binaryStreamTake (v.data(), v.size())
 Оператор извлечения.
 
template<>
uint piHash (const PIByteArray &ba)
 Возвращает PIByteArray::hash() от "ba".
 
template<>
void piSwap (PIByteArray &f, PIByteArray &s)
 Меняет содержимое массивов "f" и "s".
 
template<typename T >
PIByteArray piSerialize (const T &value)
 Сохраняет "value" в байтовый массив и возвращает его
 
template<typename T >
piDeserialize (const PIByteArray &data)
 Извлекает тип "T" из байтового массива "data" и возвращает его
 
 PIFlags< Enum >::PIFlags ()
 Создает нулевые флаги.
 
 PIFlags< Enum >::PIFlags (Enum e)
 Создает флаги со значением = Enum "e".
 
 PIFlags< Enum >::PIFlags (const int i)
 Создает флаги со значением = int "i".
 
PIFlagsPIFlags< Enum >::setFlag (const PIFlags &f, bool on=true)
 Устанавливает флаги по позициям "f" в "on".
 
PIFlagsPIFlags< Enum >::setFlag (const Enum &e, bool on=true)
 Устанавливает флаг "e" в "on".
 
PIFlagsPIFlags< Enum >::setFlag (const int &i, bool on=true)
 Устанавливает флаг "i" в "on".
 
void PIFlags< Enum >::operator= (const Enum &e)
 Оператор присваивания
 
void PIFlags< Enum >::operator= (const int &i)
 Оператор присваивания
 
bool PIFlags< Enum >::operator== (const PIFlags &f)
 Оператор сравнения
 
bool PIFlags< Enum >::operator== (const Enum &e)
 Оператор сравнения
 
bool PIFlags< Enum >::operator== (const int i)
 Оператор сравнения
 
bool PIFlags< Enum >::operator!= (const PIFlags &f)
 Оператор сравнения
 
bool PIFlags< Enum >::operator!= (const Enum &e)
 Оператор сравнения
 
bool PIFlags< Enum >::operator!= (const int i)
 Оператор сравнения
 
bool PIFlags< Enum >::operator> (const PIFlags &f)
 Оператор сравнения
 
bool PIFlags< Enum >::operator> (const Enum &e)
 Оператор сравнения
 
bool PIFlags< Enum >::operator> (const int i)
 Оператор сравнения
 
bool PIFlags< Enum >::operator< (const PIFlags &f)
 Оператор сравнения
 
bool PIFlags< Enum >::operator< (const Enum &e)
 Оператор сравнения
 
bool PIFlags< Enum >::operator< (const int i)
 Оператор сравнения
 
bool PIFlags< Enum >::operator>= (const PIFlags &f)
 Оператор сравнения
 
bool PIFlags< Enum >::operator>= (const Enum &e)
 Оператор сравнения
 
bool PIFlags< Enum >::operator>= (const int i)
 Оператор сравнения
 
bool PIFlags< Enum >::operator<= (const PIFlags &f)
 Оператор сравнения
 
bool PIFlags< Enum >::operator<= (const Enum &e)
 Оператор сравнения
 
bool PIFlags< Enum >::operator<= (const int i)
 Оператор сравнения
 
void PIFlags< Enum >::operator&= (const PIFlags &f)
 Оператор побитового И
 
void PIFlags< Enum >::operator&= (const Enum &e)
 Оператор побитового И
 
void PIFlags< Enum >::operator&= (const int i)
 Оператор побитового И
 
void PIFlags< Enum >::operator|= (const PIFlags &f)
 Оператор побитового ИЛИ
 
void PIFlags< Enum >::operator|= (const Enum &e)
 Оператор побитового ИЛИ
 
void PIFlags< Enum >::operator|= (const int i)
 Оператор побитового ИЛИ
 
void PIFlags< Enum >::operator^= (const PIFlags &f)
 Оператор побитового исключающего ИЛИ
 
void PIFlags< Enum >::operator^= (const Enum &e)
 Оператор побитового исключающего ИЛИ
 
void PIFlags< Enum >::operator^= (const int i)
 Оператор побитового исключающего ИЛИ
 
PIFlags PIFlags< Enum >::operator& (PIFlags f) const
 Оператор побитового И
 
PIFlags PIFlags< Enum >::operator& (Enum e) const
 Оператор побитового И
 
PIFlags PIFlags< Enum >::operator& (int i) const
 Оператор побитового И
 
PIFlags PIFlags< Enum >::operator| (PIFlags f) const
 Оператор побитового ИЛИ
 
PIFlags PIFlags< Enum >::operator| (Enum e) const
 Оператор побитового ИЛИ
 
PIFlags PIFlags< Enum >::operator| (int i) const
 Оператор побитового ИЛИ
 
PIFlags PIFlags< Enum >::operator^ (PIFlags f) const
 Оператор побитового исключающего ИЛИ
 
PIFlags PIFlags< Enum >::operator^ (Enum e) const
 Оператор побитового исключающего ИЛИ
 
PIFlags PIFlags< Enum >::operator^ (int i) const
 Оператор побитового исключающего ИЛИ
 
bool PIFlags< Enum >::operator[] (Enum e) const
 Оператор проверки флага
 
 PIFlags< Enum >::operator int () const
 Оператор неявного преобразования в int.
 
void piUSleep (int usecs)
 Точно ожидает "usecs" микросекунд Подробнее...
 
void piMSleep (double msecs)
 Точно ожидает "msecs" миллисекунд Подробнее...
 
void piSleep (double secs)
 Точно ожидает "secs" секунд Подробнее...
 
void piSleep (PISystemTime t)
 Точно ожидает время "t".
 
void piMinSleep ()
 Наименее возможное для данной системы по длительности ожидание
 
PISystemTime FILETIME2PISystemTime (const FILETIME &t)
 Преобразует FILETIME в PISystemTime. Подробнее...
 
PIDateTime SYSTEMTIME2PIDateTime (const SYSTEMTIME &t)
 Преобразует SYSTEMTIME в PIDateTime. Подробнее...
 
PIDateTime FILETIME2PIDateTime (const FILETIME &t)
 Преобразует FILETIME в PIDateTime. Подробнее...
 
SYSTEMTIME PIDateTime2SYSTEMTIME (const PIDateTime &dt)
 Преобразует PIDateTime в SYSTEMTIME. Подробнее...
 
FILETIME PIDateTime2FILETIME (const PIDateTime &dt)
 Преобразует PIDateTime в FILETIME. Подробнее...
 
bool operator< (const PIByteArray &v0, const PIByteArray &v1)
 Оператор сравнения
 
bool operator> (const PIByteArray &v0, const PIByteArray &v1)
 Оператор сравнения
 
bool operator== (const PIByteArray &v0, const PIByteArray &v1)
 Оператор сравнения
 
bool operator!= (const PIByteArray &v0, const PIByteArray &v1)
 Оператор сравнения
 
PIByteArray operator& (const PIByteArray &v0, const PIByteArray &v1)
 Возвращает по-битовое "и" Если размеры не совпадают, возвращает пустой PIByteArray.
 
PIByteArray operator| (const PIByteArray &v0, const PIByteArray &v1)
 Возвращает по-битовое "или" Если размеры не совпадают, возвращает пустой PIByteArray.
 
PIByteArray operator^ (const PIByteArray &v0, const PIByteArray &v1)
 Возвращает по-битовое "исключающее или" Если размеры не совпадают, возвращает пустой PIByteArray.
 
PICout operator<< (PICout s, const PIByteArray &ba)
 Оператор вывода в PICout.
 
template<>
uint piHash (const PIByteArray &ba)
 Возвращает PIByteArray::hash() от "ba".
 
template<>
void piSwap (PIByteArray &f, PIByteArray &s)
 Меняет содержимое массивов "f" и "s".
 
template<typename T >
PIByteArray piSerialize (const T &value)
 Сохраняет "value" в байтовый массив и возвращает его
 
template<typename T >
piDeserialize (const PIByteArray &data)
 Извлекает тип "T" из байтового массива "data" и возвращает его
 

Переменные

return s
 Оператор сохранения. Подробнее...
 

Подробное описание

Базовые типы, контейнеры значений и утилиты времени.

Этот модуль объединяет публичные заголовки часто используемых типов значений, вариативных контейнеров, вспомогательных средств свойств, типов сетевых адресов и утилит времени и даты.

Функции

◆ PIByteArray()

PIByteArray::PIByteArray ( std::initializer_list< uchar >  init_list)
inline

#include <pibytearray.h>

Создает массив из списка инициализации C++11.

PIByteArray v{1,2,3};
piCout << v; // {1, 2, 3}
Класс PIByteArray предоставляет массив байтов с эффективным управлением памятью и различными операция...
Definition: pibytearray.h:42
#define piCout
Definition: picout.h:36

◆ swap()

void PIByteArray::swap ( PIByteArray other)
inline

#include <pibytearray.h>

Меняет местами массив v с этим массивом.

Эта операция выполняется мгновенно без копирования памяти и никогда не дает сбоев.

◆ begin()

PIDeque< uchar >::iterator PIByteArray::begin ( )
inline

#include <pibytearray.h>

Итератор на первый элемент.

Если массив - пуст, возвращаемый итератор будет равен end().

Возвращает
Итераторы в стиле STL
См. также
end(), rbegin(), rend()

◆ end()

PIDeque< uchar >::iterator PIByteArray::end ( )
inline

#include <pibytearray.h>

Итератор на элемент, следующий за последним элементом.

Этот элемент существует лишь условно, попытка доступа к нему приведёт к выходу за разрешенную память.

Возвращает
Итераторы в стиле STL
См. также
begin(), rbegin(), rend()

◆ rbegin()

PIDeque< uchar >::reverse_iterator PIByteArray::rbegin ( )
inline

#include <pibytearray.h>

Обратный итератор на первый элемент.

Итератор для прохода массива в обратном порядке. Указывает на последний элемент. Если массив пустой, то совпадает с итератором rend().

Возвращает
Итераторы в стиле STL
См. также
rend(), begin(), end()

◆ rend()

PIDeque< uchar >::reverse_iterator PIByteArray::rend ( )
inline

#include <pibytearray.h>

Обратный итератор на элемент, следующий за последним элементом.

Итератор для прохода массива в обратном порядке. Указывает на элемент, предшествующий первому элементу. Этот элемент существует лишь условно, попытка доступа к нему приведёт к выходу за разрешенную память.

Возвращает
Итераторы в стиле STL
См. также
rbegin(), begin(), end()

◆ size()

size_t PIByteArray::size ( ) const
inline

#include <pibytearray.h>

Количество элементов массива.

См. также
size_s(), capacity(), isEmpty(), isNotEmpty(), resize(), reserve()

◆ size_s()

ssize_t PIByteArray::size_s ( ) const
inline

#include <pibytearray.h>

Количество элементов массива в виде знакового числа.

См. также
size(), capacity(), isEmpty(), isNotEmpty(), resize(), reserve()

◆ length()

size_t PIByteArray::length ( ) const
inline

#include <pibytearray.h>

Синоним size().

См. также
size(), size_s(), capacity(), isEmpty(), isNotEmpty(), resize(), reserve()

◆ capacity()

size_t PIByteArray::capacity ( ) const
inline

#include <pibytearray.h>

Количество элементов, для которого сейчас выделена память массивом.

Чтобы узнать фактическое количество элементов используйте функцию size().

См. также
reserve(), size(), size_s()

◆ isEmpty()

bool PIByteArray::isEmpty ( ) const
inline

#include <pibytearray.h>

Проверяет пуст ли массив.

Возвращает
true если массив пуст, false иначе.
См. также
size(), size_s(), isEmpty(), isNotEmpty(), resize(), reserve()

◆ isNotEmpty()

bool PIByteArray::isNotEmpty ( ) const
inline

#include <pibytearray.h>

Проверяет не пуст ли массив.

Возвращает
true если массив не пуст, false иначе.
См. также
size(), size_s(), isEmpty(), isNotEmpty(), resize(), reserve()

◆ any()

bool PIByteArray::any ( std::function< bool(uchar e)>  test) const
inline

#include <pibytearray.h>

Проверяет, удовлетворяет ли какой-либо элемент массива условию, заданному в передаваемой функции test.

Возвращает
true если хотя бы для одного элемента передаваемая функция возвращает true, в остальных случаях false. Метод возвращает false при любом условии для пустого массива.
См. также
every(), contains(), entries(), forEach()

◆ every()

bool PIByteArray::every ( std::function< bool(uchar e)>  test) const
inline

#include <pibytearray.h>

Проверяет, удовлетворяют ли все элементы массива условию, заданному в передаваемой функции test.

Возвращает
true если для всех элементов передаваемая функция возвращает true, в остальных случаях false. Метод возвращает true при любом условии для пустого массива.
См. также
any(), contains(), entries(), forEach()

◆ operator[]()

uchar & PIByteArray::operator[] ( size_t  index)
inline

#include <pibytearray.h>

Полный доступ к элементу по индексу index.

Индекс элемента считается от 0. Индекс элемента должен лежать в пределах от 0 до size()-1. Иначе это приведёт к неопределённому поведению программы и ошибкам памяти.

См. также
at()

◆ at()

uchar PIByteArray::at ( size_t  index) const
inline

#include <pibytearray.h>

Доступ исключительно на чтение к элементу по индексу index.

Индекс элемента считается от 0. Индекс элемента должен лежать в пределах от 0 до size()-1. Иначе это приведёт к неопределённому поведению программы и ошибкам памяти.

◆ back()

uchar & PIByteArray::back ( )
inline

#include <pibytearray.h>

Последний элемент массива.

Возвращает ссылку на последний элемент в массиве. Эта функция предполагает, что массив не пустой. Иначе это приведёт к неопределённому поведению программы и ошибкам памяти.

◆ front()

uchar & PIByteArray::front ( )
inline

#include <pibytearray.h>

Первый элемент массива.

Возвращает ссылку на пенрвый элемент в массиве. Эта функция предполагает, что массив не пустой. Иначе это приведёт к неопределённому поведению программы и ошибкам памяти.

◆ contains()

bool PIByteArray::contains ( uchar  e,
ssize_t  start = 0 
) const
inline

#include <pibytearray.h>

Проверяет наличие элемента e в массиве.

Опциональный аргумент start указывает на индекс в массиве, откуда будет начинаться поиск. Если индекс больше или равен длине массива, возвращается false, что означает, что массив даже не просматривается. Если индекс является отрицательным числом, он трактуется как смещение с конца массива. Если рассчитанный индекс все равно оказывается меньше 0, просматривается весь массив. Обратите внимание: если индекс отрицателен, массив всё равно просматривается от начала к концу. Значение по умолчанию равно 0, что означает, что просматривается весь массив.

PIByteArray v{1, 2, 3, 4};
piCout << v.contains(3); // true
piCout << v.contains(5); // false
piCout << v.contains(3, 3); // false
piCout << v.contains(3, -2); // true
piCout << v.contains(3, -99); // true
Возвращает
true если элемент e присутствует в массиве, в остальных случаях false.
См. также
every(), any(), entries()

◆ entries() [1/2]

int PIByteArray::entries ( uchar  e,
ssize_t  start = 0 
) const
inline

#include <pibytearray.h>

Подсчитывает количество элементов, совпадающих с элементом e в массиве.

Опциональный аргумент start указывает на индекс в массиве, откуда будет начинаться поиск. Если индекс больше или равен длине массива, возвращается 0, что означает, что массив даже не просматривается. Если индекс является отрицательным числом, он трактуется как смещение с конца массива. Если рассчитанный индекс все равно оказывается меньше 0, просматривается весь массив. Обратите внимание: если индекс отрицателен, массив всё равно просматривается от начала к концу. Значение по умолчанию равно 0, что означает, что просматривается весь массив.

См. также
every(), any(), contains(), indexOf()

◆ entries() [2/2]

int PIByteArray::entries ( std::function< bool(uchar e)>  test,
ssize_t  start = 0 
) const
inline

#include <pibytearray.h>

Подсчитывает количество элементов в массиве, проходящих по условию, заданному в передаваемой функции test.

Перегруженная функция. Опциональный аргумент start указывает на индекс в массиве, откуда будет начинаться поиск. Если индекс больше или равен длине массива, возвращается 0, что означает, что массив даже не просматривается. Если индекс является отрицательным числом, он трактуется как смещение с конца массива. Если рассчитанный индекс все равно оказывается меньше 0, просматривается весь массив. Обратите внимание: если индекс отрицателен, массив всё равно просматривается от начала к концу. Значение по умолчанию равно 0, что означает, что просматривается весь массив.

См. также
every(), any(), contains(), indexWhere()

◆ indexOf()

ssize_t PIByteArray::indexOf ( const uchar &  e,
ssize_t  start = 0 
) const
inline

#include <pibytearray.h>

Возвращает первый индекс, по которому данный элемент e может быть найден в массиве или -1, если такого индекса нет.

Опциональный аргумент start указывает на индекс в массиве, откуда будет начинаться поиск. Если индекс больше или равен длине массива, возвращается -1, что означает, что массив даже не просматривается. Если индекс является отрицательным числом, он трактуется как смещение с конца массива. Если рассчитанный индекс все равно оказывается меньше 0, просматривается весь массив. Обратите внимание: если индекс отрицателен, массив всё равно просматривается от начала к концу. Значение по умолчанию равно 0, что означает, что просматривается весь массив.

PIByteArray v{2, 5, 9};
piCout << v.indexOf(2); // 0
piCout << v.indexOf(7); // -1
piCout << v.indexOf(9, 2); // 2
piCout << v.indexOf(2, -1); // -1
piCout << v.indexOf(2, -3); // 0
См. также
indexWhere(), lastIndexOf(), lastIndexWhere(), contains()

◆ indexWhere()

ssize_t PIByteArray::indexWhere ( std::function< bool(const uchar &e)>  test,
ssize_t  start = 0 
) const
inline

#include <pibytearray.h>

Возвращает первый индекс элемента проходящего по условию, заданному в передаваемой функции test, или -1, если таких элементов нет.

Опциональный аргумент start указывает на индекс в массиве, откуда будет начинаться поиск. Если индекс больше или равен длине массива, возвращается -1, что означает, что массив даже не просматривается. Если индекс является отрицательным числом, он трактуется как смещение с конца массива. Если рассчитанный индекс все равно оказывается меньше 0, просматривается весь массив. Обратите внимание: если индекс отрицателен, массив всё равно просматривается от начала к концу. Значение по умолчанию равно 0, что означает, что просматривается весь массив.

PIByteArray v{2, 5, 9};
piCout << v.indexWhere([](const uchar & s){return s > 3;}); // 1
piCout << v.indexWhere([](const uchar & s){return s > 3;}, 2); // 2
piCout << v.indexWhere([](const uchar & s){return s > 10;}); // -1
return s
Оператор сохранения.
Definition: pisystemmonitor.h:312
См. также
indexOf(), lastIndexOf(), lastIndexWhere(), contains()

◆ lastIndexOf()

ssize_t PIByteArray::lastIndexOf ( const uchar &  e,
ssize_t  start = -1 
) const
inline

#include <pibytearray.h>

Возвращает последний индекс, по которому данный элемент e может быть найден в массиве или -1, если такого индекса нет.

Опциональный аргумент start указывает на индекс c которого начинать поиск в обратном направлении. Если индекс больше или равен длине массива, просматривается весь массив. Если индекс является отрицательным числом, он трактуется как смещение с конца массива. Обратите внимание: если индекс отрицателен, массив всё равно просматривается от конца к началу. Если рассчитанный индекс оказывается меньше 0, массив даже не просматривается. Значение по умолчанию равно -1, что равно индексу последнего элемента и означает, что просматривается весь массив.

PIByteArray v{2, 5, 9, 2};
piCout << v.lastIndexOf(2); // 3
piCout << v.lastIndexOf(7); // -1
piCout << v.lastIndexOf(2, 2); // 0
piCout << v.lastIndexOf(2, -3); // 0
piCout << v.lastIndexOf(2, -300); // -1
piCout << v.lastIndexOf(2, 300); // 3
См. также
indexOf(), indexWhere(), lastIndexWhere(), contains()

◆ lastIndexWhere()

ssize_t PIByteArray::lastIndexWhere ( std::function< bool(const uchar &e)>  test,
ssize_t  start = -1 
) const
inline

#include <pibytearray.h>

Возвращает последний индекс элемента проходящего по условию, заданному в передаваемой функции test, или -1, если таких элементов нет.

Опциональный аргумент start указывает на индекс c которого начинать поиск в обратном направлении. Если индекс больше или равен длине массива, просматривается весь массив. Если индекс является отрицательным числом, он трактуется как смещение с конца массива. Обратите внимание: если индекс отрицателен, массив всё равно просматривается от конца к началу. Если рассчитанный индекс оказывается меньше 0, массив даже не просматривается. Значение по умолчанию равно -1, что равно индексу последнего элемента и означает, что просматривается весь массив.

См. также
indexOf(), lastIndexOf(), indexWhere(), contains()

◆ data() [1/2]

uchar * PIByteArray::data ( size_t  index = 0)
inline

#include <pibytearray.h>

Указатель на память массива

Опциональный аргумент index указывает на индекс c которого брать указатель. По умолчанию указывает на начало массива.

◆ data() [2/2]

const uchar * PIByteArray::data ( size_t  index = 0) const
inline

#include <pibytearray.h>

Указатель на память массива только для чтения.

Указатель можно использовать для доступа и изменения элементов в массиве. Указатель остается действительным только до тех пор, пока массив не будет перераспределен. Опциональный аргумент index указывает на индекс c которого брать указатель. По умолчанию указывает на начало массива.

◆ clear()

PIByteArray & PIByteArray::clear ( )
inline

#include <pibytearray.h>

Очищает массив, удаляет все элементы.

Заметки
Зарезервированная память не освободится.
См. также
resize()

◆ fill() [1/2]

PIByteArray & PIByteArray::fill ( uchar  e = 0)
inline

#include <pibytearray.h>

Заполняет весь массив копиями элемента 'e'.

См. также
resize()

◆ fill() [2/2]

PIByteArray & PIByteArray::fill ( std::function< uchar(size_t i)>  f)
inline

#include <pibytearray.h>

Заполняет весь массив результатом вызова функции 'f(size_t i)'.

См. также
resize()

◆ assign() [1/2]

PIByteArray & PIByteArray::assign ( uchar  e = 0)
inline

#include <pibytearray.h>

Тоже самое что и fill().

См. также
fill(), resize()

◆ assign() [2/2]

PIByteArray & PIByteArray::assign ( size_t  new_size,
uchar  e 
)
inline

#include <pibytearray.h>

Сначала делает resize(new_size), затем fill(e).

См. также
fill(), resize()

◆ resize() [1/2]

PIByteArray & PIByteArray::resize ( size_t  new_size,
uchar  e = 0 
)
inline

#include <pibytearray.h>

Устанавливает размер массива, новые элементы копируются из e.

Если new_size больше чем текущий размер массива size(), новые элементы добавляются в конец массива и создаются из e. Если new_size меньше чем текущий размер массива size(), лишние элементы удаляются с конца массива.

См. также
size(), clear()

◆ resize() [2/2]

PIByteArray & PIByteArray::resize ( size_t  new_size,
std::function< uchar(size_t i)>  f 
)
inline

#include <pibytearray.h>

Устанавливает размер массива, новые элементы создаются функцией f(size_t i).

Если new_size больше чем текущий размер массива size(), новые элементы добавляются в конец массива и функцией f(size_t i). Если new_size меньше чем текущий размер массива size(), лишние элементы удаляются с конца массива.

См. также
size(), clear()

◆ reserve()

PIByteArray & PIByteArray::reserve ( size_t  new_size)
inline

#include <pibytearray.h>

Резервируется память под как минимум new_size элементов.

Если вы заранее знаете, насколько велик будет массив, вы можете вызвать эту функцию, чтобы предотвратить перераспределение и фрагментацию памяти. Если размер new_size больше чем выделенная память capacity(), то произойдёт выделение новой памяти и перераспределение массива. Эта функция не изменяет количество элементов в массиве size().

См. также
size(), capacity(), resize()

◆ insert() [1/3]

PIByteArray & PIByteArray::insert ( size_t  index,
uchar  e = 0 
)
inline

#include <pibytearray.h>

Вставляет значение e в позицию index в массиве.

Индекс должен быть больше 0 и меньше или равен size().

См. также
append(), prepend(), remove()

◆ insert() [2/3]

PIByteArray & PIByteArray::insert ( size_t  index,
const PIByteArray v 
)
inline

#include <pibytearray.h>

Вставляет массив v в позицию index в массиве.

Индекс должен быть больше или равен 0 и меньше или равен size().

См. также
append(), prepend(), remove()

◆ insert() [3/3]

PIByteArray & PIByteArray::insert ( size_t  index,
std::initializer_list< uchar >  init_list 
)
inline

#include <pibytearray.h>

Вставляет элементы в позицию index в массиве.

Индекс должен быть больше или равен 0 и меньше или равен size(). Вставляет элементы из списка инициализации C++11.

См. также
append(), prepend(), remove()

◆ remove()

PIByteArray & PIByteArray::remove ( size_t  index,
size_t  count = 1 
)
inline

#include <pibytearray.h>

Удаляет элементы из массива, начиная с позиции index в количестве count.

См. также
resize(), insert(), removeOne(), removeAll(), removeWhere()

◆ takeRange()

PIByteArray PIByteArray::takeRange ( size_t  index,
size_t  count 
)
inline

#include <pibytearray.h>

Вырезает подмассив, то есть кусок из текущего массива.

Аргументы
index- индекс в текущем массиве, откуда начинётся подмассив
count- размер подмассива

Индекс начала должен лежать в диапазоне от 0 до size()-1. Если заданный размер подмассива превышает размер текущего массива, то вернется подмассив меньшего размера (size()-index-1).

◆ reverse()

PIByteArray & PIByteArray::reverse ( )
inline

#include <pibytearray.h>

Обращает порядок следования элементов этого массива.

Метод reverse() на месте переставляет элементы массива, на котором он был вызван, изменяет массив и возвращает ссылку на него. Первый элемент массива становится последним, а последний — первым.

См. также
reversed()

◆ reversed()

PIByteArray PIByteArray::reversed ( ) const
inline

#include <pibytearray.h>

Возвращает перевернутый массив.

Возвращает копию массива с элементами в обратном порядке. Первый элемент массива становится последним, а последний — первым.

См. также
reverse()

◆ enlarge()

PIByteArray & PIByteArray::enlarge ( ssize_t  add_size,
uchar  e = 0 
)
inline

#include <pibytearray.h>

Увеличивает или уменьшает размер массива на add_size элементов.

Если add_size > 0, то в конец массива добавляются элементы. Если add_size < 0, то с конца массива удаляются элементы. Если add_size < 0 и в массиве меньше элементов чем указано, то массив становится пустым.

См. также
resize()

◆ removeOne()

PIByteArray & PIByteArray::removeOne ( uchar  e)
inline

#include <pibytearray.h>

Удаляет первый элемент, который равен элементу e.

См. также
remove(), removeAll(), removeWhere()

◆ removeAll()

PIByteArray & PIByteArray::removeAll ( uchar  e)
inline

#include <pibytearray.h>

Удаляет все элементы, равные элементу e.

См. также
remove(), removeOne(), removeWhere()

◆ removeWhere()

PIByteArray & PIByteArray::removeWhere ( std::function< bool(uchar e)>  test)
inline

#include <pibytearray.h>

Удаляет все элементы, удовлетворяющие условию, заданному в передаваемой функции test.

См. также
remove(), removeOne(), removeWhere()

◆ push_back() [1/3]

PIByteArray & PIByteArray::push_back ( uchar  e)
inline

#include <pibytearray.h>

Добавляет элемент e в конец массива.

Если size() меньше capacity(), что часто бывает, то добавление будет очень быстрым. В любом случае добавление быстрое и не зависит от размера массива. Если новый size() больше, чем capacity(), то все итераторы и указатели становятся нерабочими. В противном случае все, кроме итераторов, указывающих на конец массива, остаются в рабочем состоянии.

См. также
push_front(), append(), prepend(), insert()

◆ push_back() [2/3]

PIByteArray & PIByteArray::push_back ( std::initializer_list< uchar >  init_list)
inline

#include <pibytearray.h>

Добавляет элементы в конец массива.

Перегруженая функция. Добавляет элементы из списка инициализации C++11.

См. также
push_back()

◆ push_back() [3/3]

PIByteArray & PIByteArray::push_back ( const PIByteArray v)
inline

#include <pibytearray.h>

Добавляет массив v в конец массива.

Перегруженая функция.

См. также
push_back()

◆ push_front() [1/3]

PIByteArray & PIByteArray::push_front ( uchar  e)
inline

#include <pibytearray.h>

Добавляет элемент e в начало массива.

Если в начале массива имеется свободное место, что часто бывает, то добавление будет очень быстрым. В любом случае добавление быстрое и не зависит от размера массива. Если в начале массива нет свободного места, то все итераторы и указатели становятся нерабочими. В противном случае все, кроме итераторов указывающих, на начало массива, остаются в рабочем состоянии.

См. также
push_back(), append(), prepend(), insert()

◆ push_front() [2/3]

PIByteArray & PIByteArray::push_front ( const PIByteArray v)
inline

#include <pibytearray.h>

Добавляет массив v в начало массива.

Перегруженая функция.

См. также
push_front()

◆ push_front() [3/3]

PIByteArray & PIByteArray::push_front ( std::initializer_list< uchar >  init_list)
inline

#include <pibytearray.h>

Добавляет элементы в начало массива.

Перегруженая функция. Добавляет элементы из списка инициализации C++11.

См. также
append()

◆ prepend() [1/3]

PIByteArray & PIByteArray::prepend ( uchar  e)
inline

#include <pibytearray.h>

Добавляет элемент e в начало массива.

Если в начале массива имеется свободное место, что часто бывает, то добавление будет очень быстрым. В любом случае добавление быстрое и не зависит от размера массива. Если в начале массива нет свободного места, то все итераторы и указатели становятся нерабочими. В противном случае все, кроме итераторов указывающих, на начало массива, остаются в рабочем состоянии.

См. также
push_back(), append(), prepend(), insert()

◆ prepend() [2/3]

PIByteArray & PIByteArray::prepend ( const PIByteArray v)
inline

#include <pibytearray.h>

Добавляет массив v в начало массива.

Перегруженая функция.

См. также
prepend()

◆ prepend() [3/3]

PIByteArray & PIByteArray::prepend ( std::initializer_list< uchar >  init_list)
inline

#include <pibytearray.h>

Добавляет элементы в начало массива.

Перегруженая функция. Добавляет элементы из списка инициализации C++11.

См. также
append()

◆ pop_back()

PIByteArray & PIByteArray::pop_back ( )
inline

#include <pibytearray.h>

Удаляет один элемент с конца массива.

Удаление элемента с конца выполняется очень быстро и не зависит от размера массива.

См. также
pop_front(), take_back(), take_front()

◆ pop_front()

PIByteArray & PIByteArray::pop_front ( )
inline

#include <pibytearray.h>

Удаляет один элемент с начала массива.

Удаление элемента с начала выполняется дольше, чем с конца. Это время прямопропорционально размеру массива. При удалении элемента все итераторы и указатели становятся нерабочими.

См. также
pop_back(), take_back(), take_front()

◆ take_back()

uchar PIByteArray::take_back ( )
inline

#include <pibytearray.h>

Удаляет один элемент с начала массива и возвращает его.

См. также
take_front(), pop_back(), pop_front()

◆ take_front()

uchar PIByteArray::take_front ( )
inline

#include <pibytearray.h>

Удаляет один элемент с конца массива и возвращает его.

См. также
take_front(), pop_back(), pop_front()

◆ filter()

PIByteArray PIByteArray::filter ( std::function< bool(const uchar &e)>  test) const
inline

#include <pibytearray.h>

Возвращает новый массив со всеми элементами, прошедшими проверку, задаваемую в передаваемой функции test.

PIByteArray v{3, 2, 5, 2, 7};
PIByteArray v2 = v.filter([](const uchar & i){return i > 2;});
piCout << v2; // {3, 5, 7}
PIByteArray filter(std::function< bool(const uchar &e)> test) const
Возвращает новый массив со всеми элементами, прошедшими проверку, задаваемую в передаваемой функции t...
Definition: pibytearray.h:953
См. также
map(), any(), every()

◆ forEach() [1/2]

void PIByteArray::forEach ( std::function< void(const uchar &e)>  f) const
inline

#include <pibytearray.h>

Выполняет функцию void f(const uchar & e) для каждого элемента массива.

Не позволяет изменять элементы массива. Для редактирования элементов используйте функцию вида void f(uchar & e).

PIByteArray v{1, 2, 3, 4, 5};
int s = 0;
v.forEach([&s](const uchar & e){s += e;});
piCout << s; // 15
См. также
filter(), map(), reduce(), any(), every()

◆ forEach() [2/2]

PIByteArray & PIByteArray::forEach ( std::function< void(uchar &e)>  f)
inline

#include <pibytearray.h>

Выполняет функцию void f(uchar & e) для каждого элемента массива.

Перегруженая функция. Позволяет изменять элементы массива.

PIByteArray v{1, 2, 3, 4, 5};
v.forEach([](uchar & e){e++;});
piCout << v; // {2, 3, 4, 5, 6}
void forEach(std::function< void(const uchar &e)> f) const
Выполняет функцию void f(const uchar & e) для каждого элемента массива.
Definition: pibytearray.h:969
См. также
filter(), map(), reduce(), any(), every()

◆ map()

template<typename ST >
PIDeque< ST > PIByteArray::map ( std::function< ST(const uchar &e)>  f) const
inline

#include <pibytearray.h>

Создаёт новый массив с результатом вызова указанной функции ST f(const T & e) для каждого элемента массива.

Метод map вызывает переданную функцию ST f(const uchar & e) один раз для каждого элемента в порядке их появления и конструирует новый массив из результатов её вызова.

PIByteArray v{0x31, 0x0A, 0xFF};
PIStringList sl = v.map<PIString>([](const uchar & i){return PIString::fromNumber(i, 16);});
piCout << sl; {"31", "A", "FF"}
Класс строки.
Definition: pistring.h:42
static PIString fromNumber(const short value, int base=10, bool *ok=0)
Возвращает строковое представление числа "value" по основанию "base".
Definition: pistring.h:1776
Основанный на PIDeque<PIString> массив строк.
Definition: pistringlist.h:36
См. также
forEach(), reduce()

◆ reduce()

template<typename ST >
ST PIByteArray::reduce ( std::function< ST(const uchar &e, const ST &acc)>  f,
const ST &  initial = ST() 
) const
inline

#include <pibytearray.h>

Применяет функцию ST f(const uchar & e, const ST & acc) к каждому элементу массива (слева-направо), возвращает одно значение.

Метод reduce() выполняет функцию f один раз для каждого элемента, присутствующего в массиве. Если при вызове reduce() передан аргумент initial, то при первом вызове функции f значение acc будет равным значению initial. Если массив пустой то будет возвращено значение initial.

Аргументы
fФункция, вида ST f(const uchar & e, const ST & acc), выполняющаяся для каждого элемента массива. Она принимает два аргумента:
  • e - текущий элемент массива
  • acc - аккумулятор, аккумулирующий значение которое возвращает эта функция после посещения очередного элемента
initialопциональный Объект, используемый в качестве второго аргумента при первом вызове функции f.
PIByteArray v{1, 2, 3, 4, 5};
PIString s = v.reduce<PIString>([](const uchar & e, const PIString & acc){return acc + PIString::fromNumber(e);});
piCout << s; // "12345"
См. также
forEach(), map()

◆ append()

PIByteArray & PIByteArray::append ( std::initializer_list< uchar >  init_list)
inline

#include <pibytearray.h>

Добавляет элементы в конец массива.

Перегруженая функция. Добавляет элементы из списка инициализации C++11.

См. также
push_back()

◆ checksumPlain8()

uchar PIByteArray::checksumPlain8 ( bool  inverse = true) const

#include <pibytearray.h>

Возвращает 8-битную контрольную сумму

Это простая сумма всех байтов, если "inverse", то ещё добавляется 1 и инвертируется результат. Псевдокод:

for (i)
sum += at(i);
if (inverse) return ~(sum + 1);
else return sum;
uchar at(size_t index) const
Доступ исключительно на чтение к элементу по индексу index.
Definition: pibytearray.h:240

◆ checksumPlain32()

uint PIByteArray::checksumPlain32 ( bool  inverse = true) const

#include <pibytearray.h>

Возвращает 32-битную контрольную сумму

Это простая сумма всех байтов, умноженных на индекс+1, если "inverse", то ещё добавляется 1 и инвертируется результат. Псевдокод:

for (i)
sum += at(i) * (i + 1);
if (inverse) return ~(sum + 1);
else return sum;

◆ piUSleep()

void piUSleep ( int  usecs)

#include <pitime.h>

Точно ожидает "usecs" микросекунд

Этот метод учитывает смещение "usleep" на QNX/Linux/Mac, которое расчитывается с помощью утилиты pip_sys_test. Если это значение в системном конфиге действительно, то этот метод будет ожидать точно "usecs" микросекунд.

◆ piMSleep()

void piMSleep ( double  msecs)
inline

#include <pitime.h>

Точно ожидает "msecs" миллисекунд

Этот метод вызывает piUSleep (msecs * 1000)

◆ piSleep()

void piSleep ( double  secs)
inline

#include <pitime.h>

Точно ожидает "secs" секунд

Этот метод вызывает piUSleep (msecs * 1000000)

◆ FILETIME2PISystemTime()

PISystemTime FILETIME2PISystemTime ( const FILETIME &  t)
inline

#include <pitime_win.h>

Преобразует FILETIME в PISystemTime.

Преобразует структуру Windows FILETIME в PISystemTime. FILETIME - это 64-битное значение, представляющее количество интервалов по 100 наносекунд с 1 января 1601 года (UTC).

◆ SYSTEMTIME2PIDateTime()

PIDateTime SYSTEMTIME2PIDateTime ( const SYSTEMTIME &  t)
inline

#include <pitime_win.h>

Преобразует SYSTEMTIME в PIDateTime.

Преобразует структуру Windows SYSTEMTIME в PIDateTime. SYSTEMTIME представляет дату и время с помощью отдельных членов для месяца, дня, года и т.д.

◆ FILETIME2PIDateTime()

PIDateTime FILETIME2PIDateTime ( const FILETIME &  t)
inline

#include <pitime_win.h>

Преобразует FILETIME в PIDateTime.

Преобразует Windows FILETIME в PIDateTime. Сначала FILETIME преобразуется в местное время, затем в SYSTEMTIME и наконец в PIDateTime.

◆ PIDateTime2SYSTEMTIME()

SYSTEMTIME PIDateTime2SYSTEMTIME ( const PIDateTime dt)
inline

#include <pitime_win.h>

Преобразует PIDateTime в SYSTEMTIME.

Преобразует PIDateTime в структуру Windows SYSTEMTIME.

◆ PIDateTime2FILETIME()

FILETIME PIDateTime2FILETIME ( const PIDateTime dt)
inline

#include <pitime_win.h>

Преобразует PIDateTime в FILETIME.

Преобразует PIDateTime в Windows FILETIME. Сначала PIDateTime преобразуется в SYSTEMTIME, затем в местное FILETIME и наконец в UTC FILETIME.

Переменные

◆ s

return s

#include <pisystemmonitor.h>

Инициализатор
{
s << PIMemoryBlock(&v, sizeof(PISystemMonitor::ProcessStatsFixed)) << v.exec_name << v.state
Вспомогательная структура для сохранения и извлечения произвольных блоков данных в/из PIBinaryStream.
Definition: pimemoryblock.h:40
Статистика процесса (фиксированные поля).
Definition: pisystemmonitor.h:59

Оператор сохранения.

Оператор чтения из бинарного потока для PFTFileInfo.

Оператор записи в бинарный поток для PFTFileInfo.

Оператор чтения из бинарного потока для PFTHeader.

Оператор чтения из бинарного потока для StartRequest.

Оператор записи в бинарный поток для StartRequest.

Оператор чтения из бинарного потока для Part.

Оператор записи в бинарный поток для Part.

Оператор чтения из бинарного потока для PacketHeader.

Оператор сохранения

Оператор извлечения

Оператор извлечения для WheelEvent.

Оператор сохранения для WheelEvent.

Оператор извлечения для MouseEvent.

Оператор извлечения.

См. также
BINARY_STREAM_WRITE