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

Базовая функциональность. Подробнее...

Файлы

файл  pibase.h
 Базовые типы и методы
 
файл  pibase_macros.h
 Базовые макросы
 
файл  picollection.h
 Коллекция уникальных классов
 
файл  picoremodule.h
 Агрегирующий заголовок модуля Core.
 
файл  picout.h
 Универсальный вывод в консоль
 
файл  piincludes.h
 Базовые включения и низкоуровневые вспомогательные функции
 
файл  piinit.h
 Инициализация библиотеки
 
файл  pimemoryblock.h
 Вспомогательная структура памяти для хранения данных и операций с двоичным потоком
 
файл  piobject.h
 Базовый класс объектов, обеспечивающий механизм событий -> обработчиков
 
файл  piobject_macros.h
 Макросы PIObject для событийной системы и интроспекции объектов
 
файл  piliterals.h
 C++11 user-defined literals C++11 пользовательские литералы для типов библиотеки PIP.
 
файл  piliterals_bytearray.h
 Операторы литералов для PIByteArray.
 
файл  piliterals_bytes.h
 Операторы литералов размера в байтах
 
файл  piliterals_regularexpression.h
 Операторы литералов для PIRegularExpression.
 
файл  piliterals_string.h
 Операторы литералов для PIString.
 
файл  piliterals_time.h
 Операторы литералов для PISystemTime и частоты
 
файл  pip.h
 Зонтичный include для публичного API PIP.
 
файл  piplatform.h
 Публичные макросы определения платформы и компилятора
 

Классы

class  PICollection
 Глобальная коллекция экземпляров на базе PIObject, сгруппированных по имени. Подробнее...
 
class  PICollection::CollectionAdder
 Вспомогательный класс, регистрирующий объект в коллекции при статической инициализации. Подробнее...
 
class  PICout
 Универсальный вывод в консоль. Подробнее...
 
class  PICout::Notifier
 Класс для посылки событий от PICout. Подробнее...
 
class  PIObject
 Базовый класс для объектов, которые объявляют события, обработчики событий и зарегистрированные методы. Подробнее...
 
class  PIObject::Connection
 Дескриптор одного соединения между объектом-источником и объектом-приемником либо функтором. Подробнее...
 

Макросы

#define WINDOWS
 Определяется для целевых сборок Windows.
 
#define LINUX
 Определяется для целевых сборок Linux.
 
#define MAC_OS
 Определяется для целевых сборок macOS.
 
#define ANDROID
 Определяется для целевых сборок Android.
 
#define QNX
 Определяется для целевых сборок QNX.
 
#define FREE_BSD
 Определяется для целевых сборок FreeBSD.
 
#define MICRO_PIP
 Определяется для облегченных встраиваемых сборок PIP.
 
#define ARCH_BITS_32
 Определяется, когда целевая архитектура 32-битная.
 
#define ARCH_BITS_64
 Определяется, когда целевая архитектура 64-битная.
 
#define CC_GCC
 Определяется для GCC-совместимых компиляторов.
 
#define CC_GCC_VERSION
 Содержит закодированную основную и дополнительную версию GCC для сборок с CC_GCC.
 
#define CC_VC
 Определяется для Microsoft Visual C++.
 
#define CC_OTHER
 Определяется, когда ни один специализированный макрос компилятора выше не подошел.
 
#define CC_OTHER
 Определяется, когда ни один специализированный макрос компилятора выше не подошел.
 
#define POSIX_SIGNALS
 Определяется, когда ожидается доступность POSIX API сигналов.
 
#define POSIX_SIGNALS
 Определяется, когда ожидается доступность POSIX API сигналов.
 

Функции

PIString errorString ()
 Возвращает читаемое описание последней системной ошибки в формате "code <номер> - <описание>".
 
void errorClear ()
 Сбрасывает последнюю системную ошибку
 
void randomize ()
 Инициализирует глобальный генератор псевдослучайных чисел
 
int randomi ()
 Возвращает следующее значение глобального генератора псевдослучайных чисел
 
PIString PIPVersion ()
 Возвращает строку версии PIP.
 
template<typename T >
PIMemoryBlock createMemoryBlock (const T *ptr)
 Создает PIMemoryBlock для объекта, на который указывает "ptr".
 
PIByteArray operator""_hex (const char *v, size_t sz)
 Создает PIByteArray из hex-строки литерала (например "1a2e3f").
 
PIByteArray operator""_base64 (const char *v, size_t sz)
 Создает PIByteArray из Base64-строки литерала (например "aGVsbG8=").
 
constexpr unsigned long long operator""_KB (long double v)
 Килобайт, x1000.
 
constexpr unsigned long long operator""_KB (unsigned long long v)
 Килобайт, x1000.
 
constexpr unsigned long long operator""_KiB (long double v)
 Кибибайт, x1024 (2^10)
 
constexpr unsigned long long operator""_KiB (unsigned long long v)
 Кибибайт, x1024 (2^10)
 
constexpr unsigned long long operator""_MB (long double v)
 Мегабайт, x1000.000.
 
constexpr unsigned long long operator""_MB (unsigned long long v)
 Мегабайт, x1000.000.
 
constexpr unsigned long long operator""_MiB (long double v)
 Мебибайт, x1.048.576 (2^20)
 
constexpr unsigned long long operator""_MiB (unsigned long long v)
 Мебибайт, x1.048.576 (2^20)
 
constexpr unsigned long long operator""_GB (long double v)
 Гигабайт, x1000.000.000.
 
constexpr unsigned long long operator""_GB (unsigned long long v)
 Гигабайт, x1000.000.000.
 
constexpr unsigned long long operator""_GiB (long double v)
 Гибибайт, x1.073.741.824 (2^30)
 
constexpr unsigned long long operator""_GiB (unsigned long long v)
 Гибибайт, x1.073.741.824 (2^30)
 
constexpr unsigned long long operator""_TB (long double v)
 Терабайт, x1000.000.000.000.
 
constexpr unsigned long long operator""_TB (unsigned long long v)
 Терабайт, x1000.000.000.000.
 
constexpr unsigned long long operator""_TiB (long double v)
 Тебибайт, x1.099.511.627.776 (2^40)
 
constexpr unsigned long long operator""_TiB (unsigned long long v)
 Тебибайт, x1.099.511.627.776 (2^40)
 
constexpr unsigned long long operator""_PB (long double v)
 Петабайт, x1000.000.000.000.000.
 
constexpr unsigned long long operator""_PB (unsigned long long v)
 Петабайт, x1000.000.000.000.000.
 
constexpr unsigned long long operator""_PiB (long double v)
 Пебибайт, x1.125.899.906.842.624 (2^50)
 
constexpr unsigned long long operator""_PiB (unsigned long long v)
 Пебибайт, x1.125.899.906.842.624 (2^50)
 
PIRegularExpression operator""_regex (const char *v, size_t sz)
 Создает PIRegularExpression из строкового литерала в формате PCRE2.
 
PIRegularExpression operator""_glob (const char *v, size_t sz)
 Создает PIRegularExpression из строкового литерала в формате glob.
 
PIString operator""_a (const char *v, size_t sz)
 Создает PIString из ASCII-строкового литерала.
 
PIString operator""_u8 (const char *v, size_t sz)
 Создает PIString из UTF-8 строкового литерала.
 
PISystemTime operator""_d (long double v)
 PISystemTime из дней
 
PISystemTime operator""_d (unsigned long long v)
 PISystemTime из дней
 
PISystemTime operator""_h (long double v)
 PISystemTime из часов
 
PISystemTime operator""_h (unsigned long long v)
 PISystemTime из часов
 
PISystemTime operator""_m (long double v)
 PISystemTime из минут
 
PISystemTime operator""_m (unsigned long long v)
 PISystemTime из минут
 
PISystemTime operator""_s (long double v)
 PISystemTime из секунд
 
PISystemTime operator""_s (unsigned long long v)
 PISystemTime из секунд
 
PISystemTime operator""_ms (long double v)
 PISystemTime из миллисекунд
 
PISystemTime operator""_ms (unsigned long long v)
 PISystemTime из миллисекунд
 
PISystemTime operator""_us (long double v)
 PISystemTime из микросекунд
 
PISystemTime operator""_us (unsigned long long v)
 PISystemTime из микросекунд
 
PISystemTime operator""_ns (unsigned long long v)
 PISystemTime из наносекунд
 
PISystemTime::Frequency operator""_Hz (long double v)
 PISystemTime::Frequency из герц
 
PISystemTime::Frequency operator""_Hz (unsigned long long v)
 PISystemTime::Frequency из герц
 
PISystemTime::Frequency operator""_KHz (long double v)
 PISystemTime::Frequency из килогерц
 
PISystemTime::Frequency operator""_KHz (unsigned long long v)
 PISystemTime::Frequency из килогерц
 
PISystemTime::Frequency operator""_MHz (long double v)
 PISystemTime::Frequency из мегагерц
 
PISystemTime::Frequency operator""_MHz (unsigned long long v)
 PISystemTime::Frequency из мегагерц
 
PISystemTime::Frequency operator""_GHz (long double v)
 PISystemTime::Frequency из гигагерц
 
PISystemTime::Frequency operator""_GHz (unsigned long long v)
 PISystemTime::Frequency из гигагерц
 

Переменные

lconv * currentLocale
 Указатель на текущие числовые настройки C locale.
 

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

Базовая функциональность.

Сборка с использованием CMake

find_package(PIP REQUIRED)
target_link_libraries([target] PIP)
Общее

Эти заголовки предоставляют абстракцию платформы, общие макросы, вспомогательные функции и базовые классы.

Авторы

Иван Пелипенко peri4.nosp@m.ko@y.nosp@m.andex.nosp@m..ru; Андрей Бычков work..nosp@m.a.b@.nosp@m.yande.nosp@m.x.ru;