![]() |
PIP 5.5.3
Platform-Independent Primitives
|
Вариантный тип. Подробнее...
#include <pivariant.h>
Открытые типы | |
| enum | Type { pivInvalid = 0 , pivBool , pivChar , pivUChar , pivShort , pivUShort , pivInt , pivUInt , pivLLong , pivULLong , pivFloat , pivDouble , pivLDouble , pivComplexd , pivComplexld , pivBitArray , pivByteArray , pivString , pivStringList , pivTime , pivDate , pivDateTime , pivSystemTime , pivEnum , pivFile , pivDir , pivColor , pivPoint , pivRect , pivIODevice , pivMathVector , pivMathMatrix , pivLine , pivNetworkAddress , pivComplexf , pivCustom = 0xFF } |
| Тип содержимого PIVariant. Подробнее... | |
Открытые члены | |
| PIVariant () | |
| Создает pivInvalid PIVariant. | |
| PIVariant (const PIVariant &v) | |
| Создает копию PIVariant. | |
| PIVariant (PIVariant &&v) | |
| Перемещающий конструктор. | |
| PIVariant (const char *v) | |
| Создает PIVariant из строки. | |
| PIVariant (const bool v) | |
| Создает PIVariant из логического значения. | |
| PIVariant (const char v) | |
| Создает PIVariant из символа. | |
| PIVariant (const uchar v) | |
| Создает PIVariant из целого числа. | |
| PIVariant (const short v) | |
| Создает PIVariant из целого числа. | |
| PIVariant (const ushort v) | |
| Создает PIVariant из целого числа. | |
| PIVariant (const int &v) | |
| Создает PIVariant из целого числа. | |
| PIVariant (const uint &v) | |
| Создает PIVariant из целого числа. | |
| PIVariant (const llong &v) | |
| Создает PIVariant из целого числа. | |
| PIVariant (const ullong &v) | |
| Создает PIVariant из целого числа. | |
| PIVariant (const float &v) | |
| Создает PIVariant из вещественного числа. | |
| PIVariant (const double &v) | |
| Создает PIVariant из вещественного числа. | |
| PIVariant (const ldouble &v) | |
| Создает PIVariant из вещественного числа. | |
| PIVariant (const complexf &v) | |
| Создает PIVariant из комплексного числа. | |
| PIVariant (const complexd &v) | |
| Создает PIVariant из комплексного числа. | |
| PIVariant (const complexld &v) | |
| Создает PIVariant из комплексного числа. | |
| PIVariant (const PIBitArray &v) | |
| Создает PIVariant из массива битов. | |
| PIVariant (const PIByteArray &v) | |
| Создает PIVariant из массива байтов. | |
| PIVariant (const PIString &v) | |
| Создает PIVariant из строки. | |
| PIVariant (const PIStringList &v) | |
| Создает PIVariant из массива строк. | |
| PIVariant (const PITime &v) | |
| Создает PIVariant из времени. | |
| PIVariant (const PIDate &v) | |
| Создает PIVariant из даты. | |
| PIVariant (const PIDateTime &v) | |
| Создает PIVariant из даты и времени. | |
| PIVariant (const PISystemTime &v) | |
| Создает PIVariant из системного времени. | |
| PIVariant (const PIVariantTypes::Enum &v) | |
| Создает PIVariant из перечисления. | |
| PIVariant (const PIVariantTypes::File &v) | |
| Создает PIVariant из файла. | |
| PIVariant (const PIVariantTypes::Dir &v) | |
| Создает PIVariant из директории. | |
| PIVariant (const PIVariantTypes::Color &v) | |
| Создает PIVariant из цвета. | |
| PIVariant (const PIVariantTypes::IODevice &v) | |
| Создает PIVariant из IODevice. | |
| PIVariant (const PIPointd &v) | |
| Создает PIVariant из точки. | |
| PIVariant (const PIRectd &v) | |
| Создает PIVariant из прямоугольника. | |
| PIVariant (const PILined &v) | |
| Создает PIVariant из линии. | |
| PIVariant (const PINetworkAddress &v) | |
| Создает PIVariant из PINetworkAddress. | |
| PIVariant (const PIMathVectord &v) | |
| Создает PIVariant из MathVector. | |
| PIVariant (const PIMathMatrixd &v) | |
| Создает PIVariant из MathMatrix. | |
| void | setValue (const char *v) |
| Устанавливает значение и тип из строки | |
| void | setValue (const bool v) |
| Устанавливает значение и тип из | |
| void | setValue (const char v) |
| Устанавливает значение и тип из символа | |
| void | setValue (const uchar v) |
| Устанавливает значение и тип из целого числа | |
| void | setValue (const short v) |
| Устанавливает значение и тип из целого числа | |
| void | setValue (const ushort v) |
| Устанавливает значение и тип из целого числа | |
| void | setValue (const int &v) |
| Устанавливает значение и тип из целого числа | |
| void | setValue (const uint &v) |
| Устанавливает значение и тип из целого числа | |
| void | setValue (const llong &v) |
| Устанавливает значение и тип из целого числа | |
| void | setValue (const ullong &v) |
| Устанавливает значение и тип из целого числа | |
| void | setValue (const float &v) |
| Устанавливает значение и тип из вещественного числа | |
| void | setValue (const double &v) |
| Устанавливает значение и тип из вещественного числа | |
| void | setValue (const ldouble &v) |
| Устанавливает значение и тип из вещественного числа | |
| void | setValue (const complexf &v) |
| Устанавливает значение и тип из комплексного числа | |
| void | setValue (const complexd &v) |
| Устанавливает значение и тип из комплексного числа | |
| void | setValue (const complexld &v) |
| Устанавливает значение и тип из комплексного числа | |
| void | setValue (const PIBitArray &v) |
| Устанавливает значение и тип из массива битов | |
| void | setValue (const PIByteArray &v) |
| Устанавливает значение и тип из массива байтов | |
| void | setValue (const PIString &v) |
| Устанавливает значение и тип из строки | |
| void | setValue (const PIStringList &v) |
| Устанавливает значение и тип из массива строк | |
| void | setValue (const PITime &v) |
| Устанавливает значение и тип из времени | |
| void | setValue (const PIDate &v) |
| Устанавливает значение и тип из даты | |
| void | setValue (const PIDateTime &v) |
| Устанавливает значение и тип из даты и времени | |
| void | setValue (const PISystemTime &v) |
| Устанавливает значение и тип из системного времени | |
| void | setValue (const PIVariantTypes::Enum &v) |
| Устанавливает значение и тип из перечисления | |
| void | setValue (const PIVariantTypes::File &v) |
| Устанавливает значение и тип из файла | |
| void | setValue (const PIVariantTypes::Dir &v) |
| Устанавливает значение и тип из директории | |
| void | setValue (const PIVariantTypes::Color &v) |
| Устанавливает значение и тип из цвета | |
| void | setValue (const PIVariantTypes::IODevice &v) |
| Устанавливает значение и тип из IODevice. | |
| void | setValue (const PIPointd &v) |
| Устанавливает значение и тип из точки | |
| void | setValue (const PIRectd &v) |
| Устанавливает значение и тип из прямоугольника | |
| void | setValue (const PILined &v) |
| Устанавливает значение и тип из линии | |
| void | setValue (const PIMathVectord &v) |
| Устанавливает значение и тип из вектора | |
| void | setValue (const PINetworkAddress &v) |
| Устанавливает значение и тип из PINetworkAddress. | |
| void | setValue (const PIMathMatrixd &v) |
| Устанавливает значение и тип из матрицы | |
| void | setValueFromString (const PIString &v) |
| Устанавливает текущее значение из строки без изменения типа | |
| bool | toBool () const |
| Возвращает содержимое как boolean. Подробнее... | |
| int | toInt () const |
| Возвращает содержимое как int. Подробнее... | |
| llong | toLLong () const |
| Возвращает содержимое как long long. Подробнее... | |
| float | toFloat () const |
| Возвращает содержимое как float. Подробнее... | |
| double | toDouble () const |
| Возвращает содержимое как double. Подробнее... | |
| ldouble | toLDouble () const |
| Возвращает содержимое как long double. Подробнее... | |
| PITime | toTime () const |
| Возвращает содержимое как время Подробнее... | |
| PIDate | toDate () const |
| Возвращает содержимое как дата Подробнее... | |
| PIDateTime | toDateTime () const |
| Возвращает содержимое как дата и время Подробнее... | |
| PISystemTime | toSystemTime () const |
| Возвращает содержимое как системное время Подробнее... | |
| PIString | toString () const |
| Возвращает содержимое как строка Подробнее... | |
| PIStringList | toStringList () const |
| Возвращает содержимое как массив строк Подробнее... | |
| PIBitArray | toBitArray () const |
| Возвращает содержимое как массив битов Подробнее... | |
| PIByteArray | toByteArray () const |
| Возвращает содержимое как массив байтов Подробнее... | |
| PIVariantTypes::Enum | toEnum () const |
| Возвращает содержимое как перечисление Подробнее... | |
| PIVariantTypes::File | toFile () const |
| Возвращает содержимое как файл Подробнее... | |
| PIVariantTypes::Dir | toDir () const |
| Возвращает содержимое как директория Подробнее... | |
| PIVariantTypes::Color | toColor () const |
| Возвращает содержимое как цвет Подробнее... | |
| PIVariantTypes::IODevice | toIODevice () const |
| Возвращает содержимое как IODevice. Подробнее... | |
| PIPointd | toPoint () const |
| Возвращает содержимое как точка Подробнее... | |
| PIRectd | toRect () const |
| Возвращает содержимое как прямоугольник Подробнее... | |
| PILined | toLine () const |
| Возвращает содержимое как линия Подробнее... | |
| PINetworkAddress | toNetworkAddress () const |
| Возвращает содержимое как PINetworkAddress. Подробнее... | |
| PIMathVectord | toMathVector () const |
| Возвращает содержимое как вектор Подробнее... | |
| PIMathMatrixd | toMathMatrix () const |
| Возвращает содержимое как матрица Подробнее... | |
| template<typename T > | |
| T | value () const |
| Возвращает содержимое в качестве своего типа Подробнее... | |
| PIVariant & | operator= (const PIVariant &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (PIVariant &&v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const char *v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const bool v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const char v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const uchar v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const short v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const ushort v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const int &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const uint &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const llong &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const ullong &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const float &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const double &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const ldouble &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const complexf &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const complexd &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const complexld &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIBitArray &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIByteArray &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIString &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIStringList &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PITime &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIDate &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIDateTime &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PISystemTime &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIVariantTypes::Enum &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIVariantTypes::File &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIVariantTypes::Dir &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIVariantTypes::Color &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIVariantTypes::IODevice &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIPointd &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIRectd &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PILined &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PINetworkAddress &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIMathVectord &v) |
| Оператор присваивания. | |
| PIVariant & | operator= (const PIMathMatrixd &v) |
| Оператор присваивания. | |
| bool | operator== (const PIVariant &v) const |
| Оператор сравнения. Сравнивает тип и содержимое. | |
| bool | operator!= (const PIVariant &v) const |
| Оператор сравнения. Сравнивает тип и содержимое. | |
| PIVariant::Type | type () const |
| Возвращает тип значения. | |
| uint | typeID () const |
| Возвращает ID типа значения. | |
| PIString | typeName () const |
| Возвращает имя типа значения. | |
| bool | isValid () const |
| Возвращает не является ли тип pivInvalid. | |
| void | swap (PIVariant &v) |
| Меняет с другим PIVariant. | |
Открытые статические члены | |
| template<typename T > | |
| static PIVariant | fromValue (const T &v) |
| Возвращает новый PIVariant из значения своего типа. Подробнее... | |
| static PIVariant | fromType (const PIString &type) |
| Возвращает новый PIVariant из пустого конструктора типа "type". | |
| static PIVariant | fromType (uint type_id) |
| Возвращает новый PIVariant из пустого конструктора типа c ID "type_id". | |
| static PIVariant::Type | typeFromName (const PIString &tname) |
| Возвращает тип из его названия. | |
| static PIVariant::Type | typeFromID (uint type_id) |
| Возвращает тип из его ID. | |
| static uint | typeIDFromName (const PIString &tname) |
| Возвращает тип из его названия. | |
| static uint | typeIDFromType (PIVariant::Type type) |
| Возвращает ID типа от стандатного типа. | |
| static PIString | typeName (PIVariant::Type type) |
| Возвращает имя типа. | |
| template<typename T > | |
| static PIString | typeName () |
| Возвращает имя типа. | |
| static PIString | typeNameFromID (uint type_id) |
| Возвращает имя типа из его ID. | |
| static PIVector< uint > | knownTypeIDs () |
| Возвращает все зарегистрированные ID типов. | |
Вариантный тип.
Этот класс предоставляет некий общий тип, который может содержать все стандартные тип, некоторые типы PIP, а также любой свой тип. В случае стандартных типов предоставляется автоматическое преобразование между ними.
PIVariant полезен когда надо передать несколько разнотипных значений одним массивом, или тип заранее неизвестен, например:
Результат:
| enum PIVariant::Type |
Тип содержимого PIVariant.
| bool PIVariant::toBool | ( | ) | const |
Возвращает содержимое как boolean.
Для численных типов возвращает true если значение != 0.
Для типа String возвращает PIString::toBool().
Для типа StringList возвращает false если массив пустой,
иначе возвращает PIString::toBool() первой строки.
Для остальных типов возвращает false.
| int PIVariant::toInt | ( | ) | const |
Возвращает содержимое как int.
Для численных типов возвращает целочисленное значение.
Для типа String возвращает PIString::toInt().
Для типа StringList возвращает 0 если массив пустой,
иначе возвращает PIString::toInt() первой строки.
Для остальных типов возвращает 0.
| llong PIVariant::toLLong | ( | ) | const |
Возвращает содержимое как long long.
Для численных типов возвращает целочисленное значение.
Для типа String возвращает PIString::toLLong().
Для типа StringList возвращает 0L если массив пустой,
иначе возвращает PIString::toLLong() первой строки.
Для остальных типов возвращает 0L.
| float PIVariant::toFloat | ( | ) | const |
Возвращает содержимое как float.
Для численных типов возвращает вещественное значение.
Для типа String возвращает PIString::toFloat().
Для типа StringList возвращает 0.f если массив пустой,
иначе возвращает PIString::toFloat() первой строки.
Для остальных типов возвращает 0.f .
| double PIVariant::toDouble | ( | ) | const |
Возвращает содержимое как double.
Для численных типов возвращает вещественное значение.
Для типа String возвращает PIString::toDouble().
Для типа StringList возвращает 0. если массив пустой,
иначе возвращает PIString::toDouble() первой строки.
Для остальных типов возвращает 0. .
| ldouble PIVariant::toLDouble | ( | ) | const |
Возвращает содержимое как long double.
Для численных типов возвращает вещественное значение.
Для типа String возвращает PIString::toLDouble().
Для типа StringList возвращает 0. если массив пустой,
иначе возвращает PIString::toLDouble() первой строки.
Для остальных типов возвращает 0. .
| PITime PIVariant::toTime | ( | ) | const |
Возвращает содержимое как время
Для типа Time возвращает время.
Для типа DateTime возвращает часть времени.
Для остальных типов возвращает PITime().
| PIDate PIVariant::toDate | ( | ) | const |
Возвращает содержимое как дата
Для типа Date возвращает дату.
Для типа DateTime возвращает часть даты.
Для остальных типов возвращает PIDate().
| PIDateTime PIVariant::toDateTime | ( | ) | const |
Возвращает содержимое как дата и время
Для типа Time возвращает время без даты.
Для типа Date возвращает дату без времени.
Для типа DateTime возвращает время и дату.
Для остальных типов возвращает PIDateTime().
| PISystemTime PIVariant::toSystemTime | ( | ) | const |
Возвращает содержимое как системное время
Для типа SystemTime возвращает системное время.
Для типа String возвращает PISystemTime::fromString().
Для типа DateTime возвращает PIDateTime::toSystemTime().
Для остальных типов возвращает PISystemTime::fromSeconds() от toDouble().
| PIString PIVariant::toString | ( | ) | const |
Возвращает содержимое как строка
Для численных типов возвращает PIString::fromNumber().
Для типа String возвращает строку.
Для типа StringList возвращает объединенную строку ("(" + PIStringList::join("; ") + ")").
Для типов BitArray или ByteArray возвращает количество бит/байт.
Для типов Time, Date или DateTime возвращает toString().
Для типов SystemTime возвращает PISystemTime::toString().
Для типов NetworkAddress возвращает "i.i.i.i:p".
Для остальных типов возвращает "".
| PIStringList PIVariant::toStringList | ( | ) | const |
Возвращает содержимое как массив строк
Для типа StringList возвращает массив строк.
Для остальных типов возвращает PIStringList с одной строкой toString().
| PIBitArray PIVariant::toBitArray | ( | ) | const |
Возвращает содержимое как массив битов
Для типа BitArray возвращает массив битов.
Для остальных типов возвращает PIBitArray от значения toLLong().
| PIByteArray PIVariant::toByteArray | ( | ) | const |
Возвращает содержимое как массив байтов
Для типа ByteArray возвращает массив байтов.
Для остальных типов возвращает пустой PIByteArray.
| PIVariantTypes::Enum PIVariant::toEnum | ( | ) | const |
Возвращает содержимое как перечисление
Для типа Enum возвращает перечисление.
Для типа String возвращает Enum с одним членом.
Для типа StringList возвращает Enum с членами по строкам.
Для остальных типов возвращает пустой Enum.
| PIVariantTypes::File PIVariant::toFile | ( | ) | const |
Возвращает содержимое как файл
Для типа File возвращает файл.
Для типа String возвращает File с путем значения строки.
Для остальных типов возвращает пустой File.
| PIVariantTypes::Dir PIVariant::toDir | ( | ) | const |
Возвращает содержимое как директория
Для типа Dir возвращает директорию.
Для типа String возвращает Dir с путем значения строки.
Для остальных типов возвращает пустой Dir.
| PIVariantTypes::Color PIVariant::toColor | ( | ) | const |
Возвращает содержимое как цвет
Для типа Color возвращает цвет.
Для типа Int возвращает цвет с целочисленным значением.
Для остальных типов возвращает пустой Color.
| PIVariantTypes::IODevice PIVariant::toIODevice | ( | ) | const |
Возвращает содержимое как IODevice.
Для типа IODevice возвращает IODevice.
Для остальных типов возвращает пустой IODevice.
| PIPointd PIVariant::toPoint | ( | ) | const |
Возвращает содержимое как точка
Для типа Point возвращает точку.
Для остальных типов возвращает пустую PIPointd.
| PIRectd PIVariant::toRect | ( | ) | const |
Возвращает содержимое как прямоугольник
Для типа Rect возвращает прямоугольник.
Для остальных типов возвращает пустой PIRectd.
| PILined PIVariant::toLine | ( | ) | const |
Возвращает содержимое как линия
Для типа Line возвращает линию.
Для остальных типов возвращает пустую PILined.
| PINetworkAddress PIVariant::toNetworkAddress | ( | ) | const |
Возвращает содержимое как PINetworkAddress.
Для типа NetworkAddress возвращает адрес.
Для типа String возвращает адрес из формата "i.i.i.i:p".
Для остальных типов возвращает пустой PINetworkAddress.
| PIMathVectord PIVariant::toMathVector | ( | ) | const |
Возвращает содержимое как вектор
Для типа MathVector возвращает вектор.
Для остальных типов возвращает пустой PIMathVectord.
| PIMathMatrixd PIVariant::toMathMatrix | ( | ) | const |
Возвращает содержимое как матрица
Для типа MathMatrix возвращает матрицу.
Для остальных типов возвращает пустую PIMathMatrixd.
|
inline |
Возвращает содержимое в качестве своего типа
Для стандартных типов эквиваленстно методу to<Type>.
Для других возвращает тип T только если он был установлен ранее.
|
inlinestatic |
Возвращает новый PIVariant из значения своего типа.
Для стандартных типов эквиваленстно конструктору PIVariant().
Для других устанавливает содержимое из "v" и тип pivCustom.