![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Интерфейс бинарной сериализации Подробнее...
#include "pibitarray.h"#include "pimap.h"#include "pimemoryblock.h"#include "piset.h"#include "pivector2d.h"Классы | |
| class | PIBinaryStream< P > |
| CRTP-интерфейс для потоков бинарной сериализации. Подробнее... | |
| class | PIBinaryStreamTrivialRef< P > |
| Вспомогательная обертка для определения операторов потоковой обработки тривиальных типов по умолчанию. Вспомогательный класс для обнаружения операторов по умолчанию Подробнее... | |
Функции | |
| template<typename P , typename T > | |
| PIBinaryStream< P > & | operator<< (PIBinaryStreamTrivialRef< P > s, const T &v) |
| Перенаправляет операцию записи через PIBinaryStreamTrivialRef. | |
| template<typename P , typename T > | |
| PIBinaryStream< P > & | operator>> (PIBinaryStreamTrivialRef< P > s, T &v) |
| Перенаправляет операцию чтения через PIBinaryStreamTrivialRef. | |
| template<typename P > | |
| PIBinaryStream< P > & | operator<< (PIBinaryStreamTrivialRef< P > s, const PIMemoryBlock v) |
| Перенаправляет запись блока памяти через PIBinaryStreamTrivialRef. | |
| template<typename P > | |
| PIBinaryStream< P > & | operator>> (PIBinaryStreamTrivialRef< P > s, PIMemoryBlock v) |
| Перенаправляет чтение блока памяти через PIBinaryStreamTrivialRef. | |
| template<typename P > | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const bool v) |
Сохраняет bool как один беззнаковый байт. | |
| template<typename P > | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, bool &v) |
Восстанавливает bool из одного беззнакового байта. | |
| template<typename P > | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PIMemoryBlock v) |
| Записывает сырые байты из PIMemoryBlock. | |
| template<typename P > | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PIMemoryBlock v) |
| Читает сырые байты в PIMemoryBlock. | |
| template<typename P , typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0> | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const T &v) |
Сохраняет значения перечислений как int. Подробнее... | |
| template<typename P , typename T , typename std::enable_if<!std::is_enum< T >::value, int >::type = 0, typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0> | |
| PIBinaryStreamTrivialRef< P > | operator<< (PIBinaryStream< P > &s, const T &v) |
| Сохраняет тривиально копируемые значения прямым копированием памяти и возвращает вспомогательный маркер для контейнерных путей с пакетной записью. | |
| template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >()<< std::declval< const T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0> | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PIVector< T > &v) |
| Сохраняет PIVector из тривиальных элементов пакетно. Подробнее... | |
| template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >()<< std::declval< const T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0> | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PIDeque< T > &v) |
| Сохраняет PIDeque из тривиальных элементов пакетно. Подробнее... | |
| template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >()<< std::declval< const T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0> | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PIVector2D< T > &v) |
| Сохраняет PIVector2D из тривиальных элементов пакетно. Подробнее... | |
| template<typename P > | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PIBitArray &v) |
| Сохраняет содержимое PIBitArray. | |
| template<typename P , typename Type0 , typename Type1 > | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PIPair< Type0, Type1 > &v) |
| Сохраняет оба элемента PIPair. | |
| template<typename P , typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0> | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, T &v) |
Восстанавливает значения перечислений из int. Подробнее... | |
| template<typename P , typename T , typename std::enable_if<!std::is_enum< T >::value, int >::type = 0, typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0> | |
| PIBinaryStreamTrivialRef< P > | operator>> (PIBinaryStream< P > &s, T &v) |
| Восстанавливает тривиально копируемые значения прямым копированием памяти и возвращает вспомогательный маркер для контейнерных путей с пакетным чтением. | |
| template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >() > > std::declval< T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0> | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PIVector< T > &v) |
| Восстанавливает PIVector из тривиальных элементов пакетно. Подробнее... | |
| template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >() > > std::declval< T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0> | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PIDeque< T > &v) |
| Восстанавливает PIDeque из тривиальных элементов пакетно. Подробнее... | |
| template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >() > > std::declval< T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0> | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PIVector2D< T > &v) |
| Восстанавливает PIVector2D из тривиальных элементов пакетно. Подробнее... | |
| template<typename P > | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PIBitArray &v) |
| Восстанавливает содержимое PIBitArray. | |
| template<typename P , typename Type0 , typename Type1 > | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PIPair< Type0, Type1 > &v) |
| Восстанавливает оба элемента PIPair. | |
| template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0> | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PIVector< T > &v) |
| Сохраняет PIVector из нетривиальных элементов по одному. | |
| template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0> | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PIDeque< T > &v) |
| Сохраняет PIDeque из нетривиальных элементов по одному. | |
| template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0> | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PIVector2D< T > &v) |
| Сохраняет PIVector2D из нетривиальных элементов через его плоское векторное представление. | |
| template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0> | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PIVector< T > &v) |
| Восстанавливает PIVector из нетривиальных элементов по одному. | |
| template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0> | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PIDeque< T > &v) |
| Восстанавливает PIDeque из нетривиальных элементов по одному. | |
| template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0> | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PIVector2D< T > &v) |
| Восстанавливает PIVector2D из нетривиальных элементов через промежуточный плоский вектор. | |
| template<typename P , typename Key , typename T > | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PIMap< Key, T > &v) |
| Сохраняет ключи и значения PIMap. | |
| template<typename P , typename Key , typename T > | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PIMap< Key, T > &v) |
| Восстанавливает ключи и значения PIMap. | |
| template<typename P , typename Key > | |
| PIBinaryStream< P > & | operator<< (PIBinaryStream< P > &s, const PISet< Key > &v) |
| Сохраняет ключи PISet. | |
| template<typename P , typename Key > | |
| PIBinaryStream< P > & | operator>> (PIBinaryStream< P > &s, PISet< Key > &v) |
| Восстанавливает ключи PISet. | |
Интерфейс бинарной сериализации
|
inline |
Сохраняет значения перечислений как int.
Резервная перегрузка, которая намеренно завершает компиляцию ошибкой для неподдерживаемых нетривиальных типов записи.
|
inline |
Сохраняет PIVector из тривиальных элементов пакетно.
Сохраняет PIVector поэлементно, когда тип элемента использует собственные операторы бинарного потока.
|
inline |
Сохраняет PIDeque из тривиальных элементов пакетно.
Сохраняет PIDeque поэлементно, когда тип элемента использует собственные операторы бинарного потока.
|
inline |
Сохраняет PIVector2D из тривиальных элементов пакетно.
Сохраняет данные PIVector2D через путь потоковой обработки элементов.
|
inline |
Восстанавливает значения перечислений из int.
Резервная перегрузка, которая намеренно завершает компиляцию ошибкой для неподдерживаемых нетривиальных типов чтения.
|
inline |
Восстанавливает PIVector из тривиальных элементов пакетно.
Восстанавливает PIVector поэлементно, когда тип элемента использует собственные операторы бинарного потока.
|
inline |
Восстанавливает PIDeque из тривиальных элементов пакетно.
Восстанавливает PIDeque поэлементно, когда тип элемента использует собственные операторы бинарного потока.
|
inline |
Восстанавливает PIVector2D из тривиальных элементов пакетно.
Восстанавливает PIVector2D через путь потоковой обработки элементов.