![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Вспомогательные шаблоны для сериализации JSON. Подробнее...
#include "pijson.h"Функции | |
| template<typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0> | |
| PIJSON | piSerializeJSON (const T &v) |
| Сериализует значения перечислений как JSON-числа. | |
| template<typename T , typename std::enable_if<!std::is_enum< T >::value, int >::type = 0, typename std::enable_if< std::is_arithmetic< T >::value, int >::type = 0> | |
| PIJSON | piSerializeJSON (const T &v) |
| Сериализует арифметические значения как JSON-скаляры. Подробнее... | |
| PIJSON | piSerializeJSON (const PIJSON &v) |
| Возвращает JSON-узел без изменений. | |
| template<> | |
| PIJSON | piSerializeJSON (const PIVariant &v) |
| Сериализует PIVariant в соответствующий скалярный JSON-узел. | |
| template<typename T > | |
| PIJSON | piSerializeJSON (const complex< T > &v) |
| Сериализует комплексное число как массив [real, imag]. | |
| template<typename T > | |
| PIJSON | piSerializeJSON (const PIFlags< T > &v) |
| Сериализует PIFlags как целочисленную маску. | |
| template<> | |
| PIJSON | piSerializeJSON (const PIString &v) |
| Сериализует PIString как JSON-строку. | |
| template<> | |
| PIJSON | piSerializeJSON (const PIConstChars &v) |
| Сериализует PIConstChars как JSON-строку. | |
| template<> | |
| PIJSON | piSerializeJSON (const PIByteArray &v) |
| Сериализует PIByteArray как строку Base64. | |
| template<> | |
| PIJSON | piSerializeJSON (const PISystemTime &v) |
Сериализует PISystemTime как объект с полями s и ns. | |
| template<> | |
| PIJSON | piSerializeJSON (const PITime &v) |
Сериализует PITime как объект с полями h, m, s и z. | |
| template<> | |
| PIJSON | piSerializeJSON (const PIDate &v) |
Сериализует PIDate как объект с полями y, M и d. | |
| template<> | |
| PIJSON | piSerializeJSON (const PIDateTime &v) |
Сериализует PIDateTime как объект с полями y, M, d, h, m, s и z. | |
| template<> | |
| PIJSON | piSerializeJSON (const PINetworkAddress &v) |
| Сериализует PINetworkAddress как строку. | |
| template<typename T > | |
| PIJSON | piSerializeJSON (const PIPoint< T > &v) |
Сериализует PIPoint как объект с полями x и y. | |
| template<typename T > | |
| PIJSON | piSerializeJSON (const PILine< T > &v) |
Сериализует PILine как объект с полями p0 и p1. | |
| template<typename T > | |
| PIJSON | piSerializeJSON (const PIRect< T > &v) |
Сериализует PIRect как объект с полями bl и tr. | |
| template<typename T1 , typename T2 > | |
| PIJSON | piSerializeJSON (const PIPair< T1, T2 > &v) |
| Сериализует PIPair как массив из двух элементов. | |
| template<typename T > | |
| PIJSON | piSerializeJSON (const PIVector< T > &v) |
| Сериализует PIVector как JSON-массив. | |
| template<typename T > | |
| PIJSON | piSerializeJSON (const PIDeque< T > &v) |
| Сериализует PIDeque как JSON-массив. | |
| template<typename T > | |
| PIJSON | piSerializeJSON (const PIVector2D< T > &v) |
Сериализует PIVector2D как объект с rows, cols и плоским массивом mat. | |
| template<typename T > | |
| PIJSON | piSerializeJSON (const PISet< T > &v) |
| Сериализует PISet как JSON-массив. | |
| template<typename K , typename T > | |
| PIJSON | piSerializeJSON (const PIMap< K, T > &v) |
| Сериализует PIMap как JSON-объект со строковыми ключами. | |
| template<typename T > | |
| PIJSON | piSerializeJSON (const PIMathVector< T > &v) |
| Сериализует PIMathVector как JSON-массив. | |
| template<uint Size, typename T > | |
| PIJSON | piSerializeJSON (const PIMathVectorT< Size, T > &v) |
| Сериализует PIMathVectorT фиксированного размера как JSON-массив. | |
| template<typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0> | |
| void | piDeserializeJSON (T &v, const PIJSON &js) |
| Десериализует значение перечисления из JSON-числа. | |
| template<typename T , typename std::enable_if<!std::is_enum< T >::value, int >::type = 0, typename std::enable_if< std::is_arithmetic< T >::value, int >::type = 0> | |
| void | piDeserializeJSON (T &v, const PIJSON &js) |
| Десериализует арифметическое значение из JSON-скаляра. Подробнее... | |
| void | piDeserializeJSON (PIJSON &v, const PIJSON &js) |
| Копирует JSON-узел без изменений. | |
| template<> | |
| void | piDeserializeJSON (PIVariant &v, const PIJSON &js) |
| Извлекает скалярное значение JSON-узла в PIVariant. | |
| template<typename T > | |
| void | piDeserializeJSON (complex< T > &v, const PIJSON &js) |
| Десериализует комплексное число из массива [real, imag]. | |
| template<typename T > | |
| void | piDeserializeJSON (PIFlags< T > &v, const PIJSON &js) |
| Десериализует PIFlags из целочисленной маски. | |
| template<> | |
| void | piDeserializeJSON (PIString &v, const PIJSON &js) |
| Десериализует PIString из строкового представления JSON. | |
| template<> | |
| void | piDeserializeJSON (PIByteArray &v, const PIJSON &js) |
| Десериализует PIByteArray из строки Base64. | |
| template<> | |
| void | piDeserializeJSON (PISystemTime &v, const PIJSON &js) |
Десериализует PISystemTime из объекта с полями s и ns. | |
| template<> | |
| void | piDeserializeJSON (PITime &v, const PIJSON &js) |
Десериализует PITime из объекта с полями h, m, s и z. | |
| template<> | |
| void | piDeserializeJSON (PIDate &v, const PIJSON &js) |
Десериализует PIDate из объекта с полями y, M и d. | |
| template<> | |
| void | piDeserializeJSON (PIDateTime &v, const PIJSON &js) |
Десериализует PIDateTime из объекта с полями y, M, d, h, m, s и z. | |
| template<> | |
| void | piDeserializeJSON (PINetworkAddress &v, const PIJSON &js) |
| Десериализует PINetworkAddress из строки. | |
| template<typename T > | |
| void | piDeserializeJSON (PIPoint< T > &v, const PIJSON &js) |
Десериализует PIPoint из объекта с полями x и y. | |
| template<typename T > | |
| void | piDeserializeJSON (PILine< T > &v, const PIJSON &js) |
Десериализует PILine из объекта с полями p0 и p1. | |
| template<typename T > | |
| void | piDeserializeJSON (PIRect< T > &v, const PIJSON &js) |
Десериализует PIRect из объекта с полями bl и tr. | |
| template<typename T1 , typename T2 > | |
| void | piDeserializeJSON (PIPair< T1, T2 > &v, const PIJSON &js) |
| Десериализует PIPair из массива из двух элементов. | |
| template<typename T > | |
| void | piDeserializeJSON (PIVector< T > &v, const PIJSON &js) |
| Десериализует PIVector из JSON-массива. | |
| template<typename T > | |
| void | piDeserializeJSON (PIDeque< T > &v, const PIJSON &js) |
| Десериализует PIDeque из JSON-массива. | |
| template<typename T > | |
| void | piDeserializeJSON (PIVector2D< T > &v, const PIJSON &js) |
Десериализует PIVector2D из объекта с rows, cols и плоским массивом mat. | |
| template<typename T > | |
| void | piDeserializeJSON (PISet< T > &v, const PIJSON &js) |
| Десериализует PISet из JSON-массива. | |
| template<typename K , typename T > | |
| void | piDeserializeJSON (PIMap< K, T > &v, const PIJSON &js) |
| Десериализует PIMap из JSON-объекта со строковыми ключами. | |
| template<typename T > | |
| void | piDeserializeJSON (PIMathVector< T > &v, const PIJSON &js) |
| Десериализует динамический PIMathVector из JSON-массива. | |
| template<uint Size, typename T > | |
| void | piDeserializeJSON (PIMathVectorT< Size, T > &v, const PIJSON &js) |
| Десериализует PIMathVectorT фиксированного размера из JSON-массива, отбрасывая лишние элементы. | |
Вспомогательные шаблоны для сериализации JSON.
Этот файл предоставляет шаблонные функции для сериализации и десериализации различных типов в формат PIJSON и из него.
|
inline |
Сериализует арифметические значения как JSON-скаляры.
Резервная перегрузка, которая намеренно завершает компиляцию ошибкой для неподдерживаемых сложных типов.
|
inline |
Десериализует арифметическое значение из JSON-скаляра.
Резервная перегрузка, которая намеренно завершает компиляцию ошибкой для неподдерживаемых сложных типов.