merged AI doc, some new pages

This commit is contained in:
2026-03-12 14:46:57 +03:00
parent 07ae277f9e
commit ed13838237
206 changed files with 14088 additions and 5152 deletions

View File

@@ -1,15 +1,25 @@
/*! \file piliterals.h
* \ingroup Core
* \~\brief
* \~english C++11 literals
* \~russian C++11 суффиксы
*
* \~\details
* \~english
* Include all literals_*.h files
* \~russian
* Включает все файлы literals_*.h
*/
//! \addtogroup Core
//! \{
//! \~\file piliterals.h
//! \brief C++11 user-defined literals
//! \~english C++11 user-defined literals for PIP library types
//! \~russian C++11 пользовательские литералы для типов библиотеки PIP
//! \details
//! \~english
//! Includes all literals_*.h files providing user-defined literals (UDL) for:
//! * PIByteArray (hex, base64)
//! * Bytes (KB, MB, GB, TB, PB, KiB, MiB, GiB, TiB, PiB)
//! * PIString (ASCII, UTF-8)
//! * PIRegularExpression (regex, glob)
//! * PISystemTime (d, h, m, s, ms, us, ns, Hz, KHz, MHz, GHz)
//! \~russian
//! Включает все файлы literals_*.h с пользовательскими литералами (UDL) для:
//! * PIByteArray (hex, base64)
//! * Bytes (KB, MB, GB, TB, PB, KiB, MiB, GiB, TiB, PiB)
//! * PIString (ASCII, UTF-8)
//! * PIRegularExpression (regex, glob)
//! * PISystemTime (d, h, m, s, ms, us, ns, Hz, KHz, MHz, GHz)
//! \}
/*
PIP - Platform Independent Primitives
C++11 literals

View File

@@ -1,12 +1,12 @@
/*! \file piliterals_bytearray.h
* \ingroup Core
* \~\brief
* \~english PIByteArray C++11 literals
* \~russian C++11 суффиксы PIByteArray
* \~english PIByteArray literal operators
* \~russian Операторы литералов для PIByteArray
*/
/*
PIP - Platform Independent Primitives
PIByteArray C++11 literals
PIByteArray C++11 literals
Ivan Pelipenko peri4ko@yandex.ru
This program is free software: you can redistribute it and/or modify
@@ -28,16 +28,18 @@
#include "pistring.h"
//! \~\ingroup Core
//! \~\brief
//! \~english PIByteArray from hex string (e.g. "1a2e3f")
//! \~russian PIByteArray из hex строки (например "1a2e3f")
//! \~english Creates \a PIByteArray from hex string literal (for example "1a2e3f").
//! \~russian Создает \a PIByteArray из hex-строки литерала (например "1a2e3f").
inline PIByteArray operator""_hex(const char * v, size_t sz) {
return PIByteArray::fromHex(PIStringAscii(v, sz));
}
//! \~\ingroup Core
//! \~\brief
//! \~english PIByteArray from base64 string (e.g. "aGVsbG8=")
//! \~russian PIByteArray из base64 строки (например "aGVsbG8=")
//! \~english Creates \a PIByteArray from Base64 string literal (for example "aGVsbG8=").
//! \~russian Создает \a PIByteArray из Base64-строки литерала (например "aGVsbG8=").
inline PIByteArray operator""_base64(const char * v, size_t sz) {
return PIByteArray::fromBase64(PIStringAscii(v, sz));
}

View File

@@ -1,8 +1,8 @@
/*! \file piliterals_bytes.h
* \ingroup Core
* \~\brief
* \~english Bytes C++11 literals for bytes
* \~russian C++11 байтовые суффиксы
* \~english Byte-size literal operators
* \~russian Операторы литералов размера в байтах
*
* \~\details
* \~english
@@ -37,6 +37,7 @@
#define PILITERALS_BYTES_H
//! \~\ingroup Core
//! \~\brief
//! \~english Kilobytes, x1000
//! \~russian Килобайт, x1000
@@ -44,6 +45,7 @@ constexpr unsigned long long operator""_KB(long double v) {
return v * 1000.;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Kilobytes, x1000
//! \~russian Килобайт, x1000
@@ -51,6 +53,7 @@ constexpr unsigned long long operator""_KB(unsigned long long v) {
return v * 1000;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Kibibytes, x1024 (2^10)
//! \~russian Кибибайт, x1024 (2^10)
@@ -58,6 +61,7 @@ constexpr unsigned long long operator""_KiB(long double v) {
return v * 1024.;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Kibibytes, x1024 (2^10)
//! \~russian Кибибайт, x1024 (2^10)
@@ -66,6 +70,7 @@ constexpr unsigned long long operator""_KiB(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english Megabytes, x1000.000
//! \~russian Мегабайт, x1000.000
@@ -73,6 +78,7 @@ constexpr unsigned long long operator""_MB(long double v) {
return v * 1000. * 1000.;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Megabytes, x1000.000
//! \~russian Мегабайт, x1000.000
@@ -80,6 +86,7 @@ constexpr unsigned long long operator""_MB(unsigned long long v) {
return v * 1000 * 1000;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Mebibytes, x1.048.576 (2^20)
//! \~russian Мебибайт, x1.048.576 (2^20)
@@ -87,6 +94,7 @@ constexpr unsigned long long operator""_MiB(long double v) {
return v * 1024. * 1024.;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Mebibytes, x1.048.576 (2^20)
//! \~russian Мебибайт, x1.048.576 (2^20)
@@ -95,6 +103,7 @@ constexpr unsigned long long operator""_MiB(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english Gigabytes, x1000.000.000
//! \~russian Гигабайт, x1000.000.000
@@ -102,6 +111,7 @@ constexpr unsigned long long operator""_GB(long double v) {
return v * 1000. * 1000. * 1000.;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Gigabytes, x1000.000.000
//! \~russian Гигабайт, x1000.000.000
@@ -109,6 +119,7 @@ constexpr unsigned long long operator""_GB(unsigned long long v) {
return v * 1000 * 1000 * 1000;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Gibibytes, x1.073.741.824 (2^30)
//! \~russian Гибибайт, x1.073.741.824 (2^30)
@@ -116,6 +127,7 @@ constexpr unsigned long long operator""_GiB(long double v) {
return v * 1024. * 1024. * 1024.;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Gibibytes, x1.073.741.824 (2^30)
//! \~russian Гибибайт, x1.073.741.824 (2^30)
@@ -124,6 +136,7 @@ constexpr unsigned long long operator""_GiB(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english Terabytes, x1000.000.000.000
//! \~russian Терабайт, x1000.000.000.000
@@ -131,6 +144,7 @@ constexpr unsigned long long operator""_TB(long double v) {
return v * 1000. * 1000. * 1000. * 1000.;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Terabytes, x1000.000.000.000
//! \~russian Терабайт, x1000.000.000.000
@@ -138,6 +152,7 @@ constexpr unsigned long long operator""_TB(unsigned long long v) {
return v * 1000 * 1000 * 1000 * 1000;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Tebibytes, x1.099.511.627.776 (2^40)
//! \~russian Тебибайт, x1.099.511.627.776 (2^40)
@@ -145,6 +160,7 @@ constexpr unsigned long long operator""_TiB(long double v) {
return v * 1024. * 1024. * 1024. * 1024.;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Tebibytes, x1.099.511.627.776 (2^40)
//! \~russian Тебибайт, x1.099.511.627.776 (2^40)
@@ -153,6 +169,7 @@ constexpr unsigned long long operator""_TiB(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english Petabytes, x1000.000.000.000.000
//! \~russian Петабайт, x1000.000.000.000.000
@@ -160,6 +177,7 @@ constexpr unsigned long long operator""_PB(long double v) {
return v * 1000. * 1000. * 1000. * 1000. * 1000.;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Petabytes, x1000.000.000.000.000
//! \~russian Петабайт, x1000.000.000.000.000
@@ -167,6 +185,7 @@ constexpr unsigned long long operator""_PB(unsigned long long v) {
return v * 1000 * 1000 * 1000 * 1000 * 1000;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Pebibytes, x1.125.899.906.842.624 (2^50)
//! \~russian Пебибайт, x1.125.899.906.842.624 (2^50)
@@ -174,6 +193,7 @@ constexpr unsigned long long operator""_PiB(long double v) {
return v * 1024. * 1024. * 1024. * 1024. * 1024.;
}
//! \~\ingroup Core
//! \~\brief
//! \~english Pebibytes, x1.125.899.906.842.624 (2^50)
//! \~russian Пебибайт, x1.125.899.906.842.624 (2^50)

View File

@@ -1,8 +1,8 @@
/*! \file piliterals_regularexpression.h
* \ingroup Core
* \~\brief
* \~english PIRegularExpression C++11 literals
* \~russian C++11 суффиксы PIString
* \~english PIRegularExpression literal operators
* \~russian Операторы литералов для PIRegularExpression
*/
/*
PIP - Platform Independent Primitives
@@ -28,16 +28,18 @@
#include "piregularexpression.h"
//! \~\ingroup Core
//! \~\brief
//! \~english PIRegularExpression from string pattern in PCRE2 format
//! \~russian PIRegularExpression из строки в формате PCRE2
//! \~english Creates \a PIRegularExpression from string literal in PCRE2 format.
//! \~russian Создает \a PIRegularExpression из строкового литерала в формате PCRE2.
inline PIRegularExpression operator""_regex(const char * v, size_t sz) {
return PIRegularExpression(PIString::fromUTF8(v, sz));
}
//! \~\ingroup Core
//! \~\brief
//! \~english PIRegularExpression from string pattern in Glob format
//! \~russian PIRegularExpression из строки в формате Glob
//! \~english Creates \a PIRegularExpression from string literal in glob format.
//! \~russian Создает \a PIRegularExpression из строкового литерала в формате glob.
inline PIRegularExpression operator""_glob(const char * v, size_t sz) {
return PIRegularExpression::fromGlob(PIString::fromUTF8(v, sz));
}

View File

@@ -1,12 +1,12 @@
/*! \file piliterals_string.h
* \ingroup Core
* \~\brief
* \~english PIString C++11 literals
* \~russian C++11 суффиксы PIString
* \~english PIString literal operators
* \~russian Операторы литералов для PIString
*/
/*
PIP - Platform Independent Primitives
PIString C++11 literals
PIString C++11 literals
Ivan Pelipenko peri4ko@yandex.ru
This program is free software: you can redistribute it and/or modify
@@ -28,16 +28,18 @@
#include "pistring.h"
//! \~\ingroup Core
//! \~\brief
//! \~english PIString from ASCII
//! \~russian PIString из ASCII
//! \~english Creates \a PIString from ASCII string literal.
//! \~russian Создает \a PIString из ASCII-строкового литерала.
inline PIString operator""_a(const char * v, size_t sz) {
return PIString::fromAscii(v, sz);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PIString from UTF-8
//! \~russian PIString из UTF-8
//! \~english Creates \a PIString from UTF-8 string literal.
//! \~russian Создает \a PIString из UTF-8 строкового литерала.
inline PIString operator""_u8(const char * v, size_t sz) {
return PIString::fromUTF8(v, sz);
}

View File

@@ -1,8 +1,8 @@
/*! \file piliterals_time.h
* \ingroup Core
* \~\brief
* \~english PISystemTime C++11 literals
* \~russian C++11 суффиксы PISystemTime
* \~english PISystemTime and frequency literal operators
* \~russian Операторы литералов для PISystemTime и частоты
*/
/*
PIP - Platform Independent Primitives
@@ -29,6 +29,7 @@
#include "pisystemtime.h"
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from days
//! \~russian PISystemTime из дней
@@ -36,6 +37,7 @@ inline PISystemTime operator""_d(long double v) {
return PISystemTime::fromSeconds(v * 60. * 60. * 24.);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from days
//! \~russian PISystemTime из дней
@@ -44,6 +46,7 @@ inline PISystemTime operator""_d(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from hours
//! \~russian PISystemTime из часов
@@ -51,6 +54,7 @@ inline PISystemTime operator""_h(long double v) {
return PISystemTime::fromSeconds(v * 60. * 60.);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from hours
//! \~russian PISystemTime из часов
@@ -59,6 +63,7 @@ inline PISystemTime operator""_h(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from minutes
//! \~russian PISystemTime из минут
@@ -66,6 +71,7 @@ inline PISystemTime operator""_m(long double v) {
return PISystemTime::fromSeconds(v * 60.);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from minutes
//! \~russian PISystemTime из минут
@@ -74,6 +80,7 @@ inline PISystemTime operator""_m(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from seconds
//! \~russian PISystemTime из секунд
@@ -81,6 +88,7 @@ inline PISystemTime operator""_s(long double v) {
return PISystemTime::fromSeconds(v);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from seconds
//! \~russian PISystemTime из секунд
@@ -89,21 +97,24 @@ inline PISystemTime operator""_s(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from milliseconds
//! \~russian PISystemTime из милисекунд
//! \~russian PISystemTime из миллисекунд
inline PISystemTime operator""_ms(long double v) {
return PISystemTime::fromMilliseconds(v);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from milliseconds
//! \~russian PISystemTime из милисекунд
//! \~russian PISystemTime из миллисекунд
inline PISystemTime operator""_ms(unsigned long long v) {
return PISystemTime::fromMilliseconds(v);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from microseconds
//! \~russian PISystemTime из микросекунд
@@ -111,6 +122,7 @@ inline PISystemTime operator""_us(long double v) {
return PISystemTime::fromMicroseconds(v);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from microseconds
//! \~russian PISystemTime из микросекунд
@@ -119,6 +131,7 @@ inline PISystemTime operator""_us(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime from nanoseconds
//! \~russian PISystemTime из наносекунд
@@ -127,6 +140,7 @@ inline PISystemTime operator""_ns(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime::Frequency from hertz
//! \~russian PISystemTime::Frequency из герц
@@ -134,6 +148,7 @@ inline PISystemTime::Frequency operator""_Hz(long double v) {
return PISystemTime::Frequency::fromHertz(v);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime::Frequency from hertz
//! \~russian PISystemTime::Frequency из герц
@@ -142,6 +157,7 @@ inline PISystemTime::Frequency operator""_Hz(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime::Frequency from kilohertz
//! \~russian PISystemTime::Frequency из килогерц
@@ -149,6 +165,7 @@ inline PISystemTime::Frequency operator""_KHz(long double v) {
return PISystemTime::Frequency::fromKHertz(v);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime::Frequency from kilohertz
//! \~russian PISystemTime::Frequency из килогерц
@@ -157,6 +174,7 @@ inline PISystemTime::Frequency operator""_KHz(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime::Frequency from megahertz
//! \~russian PISystemTime::Frequency из мегагерц
@@ -164,6 +182,7 @@ inline PISystemTime::Frequency operator""_MHz(long double v) {
return PISystemTime::Frequency::fromMHertz(v);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime::Frequency from megahertz
//! \~russian PISystemTime::Frequency из мегагерц
@@ -172,6 +191,7 @@ inline PISystemTime::Frequency operator""_MHz(unsigned long long v) {
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime::Frequency from gigahertz
//! \~russian PISystemTime::Frequency из гигагерц
@@ -179,6 +199,7 @@ inline PISystemTime::Frequency operator""_GHz(long double v) {
return PISystemTime::Frequency::fromGHertz(v);
}
//! \~\ingroup Core
//! \~\brief
//! \~english PISystemTime::Frequency from gigahertz
//! \~russian PISystemTime::Frequency из гигагерц