doxygen @ tags replaced to \
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
/*! \file pibase.h
|
||||
* \brief
|
||||
* \~\brief
|
||||
* \~english Base types and functions
|
||||
* \~russian Базовые типы и методы
|
||||
*
|
||||
* \details
|
||||
* \~\details
|
||||
* \~english
|
||||
* This file implements first layer above the system and
|
||||
* declares some basic useful functions
|
||||
@@ -52,142 +52,142 @@
|
||||
|
||||
#ifdef DOXYGEN
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Major value of PIP version
|
||||
//! \~russian Мажорная версия PIP
|
||||
# define PIP_VERSION_MAJOR
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Minor value of PIP version
|
||||
//! \~russian Минорная версия PIP
|
||||
# define PIP_VERSION_MINOR
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Revision value of PIP version
|
||||
//! \~russian Ревизия версии PIP
|
||||
# define PIP_VERSION_REVISION
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Suffix of PIP version
|
||||
//! \~russian Суффикс версии PIP
|
||||
# define PIP_VERSION_SUFFIX
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Version of PIP in hex - 0x##(Major)##(Minor)##(Revision)
|
||||
//! \~russian Версия PIP в hex - 0x##(Major)##(Minor)##(Revision)
|
||||
# define PIP_VERSION
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when compile-time debug is enabled
|
||||
//! \~russian Макрос объявлен когда включена compile-time отладка
|
||||
# define PIP_DEBUG
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when operation system is any Windows
|
||||
//! \~russian Макрос объявлен когда операционная система Windows
|
||||
# define WINDOWS
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when operation system is QNX or Blackberry
|
||||
//! \~russian Макрос объявлен когда операционная система QNX или Blackberry
|
||||
# define QNX
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when operation system is Blackberry
|
||||
//! \~russian Макрос объявлен когда операционная система Blackberry
|
||||
# define BLACKBERRY
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when operation system is FreeBSD
|
||||
//! \~russian Макрос объявлен когда операционная система FreeBSD
|
||||
# define FREE_BSD
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when operation system is Mac OS
|
||||
//! \~russian Макрос объявлен когда операционная система Mac OS
|
||||
# define MAC_OS
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when operation system is Android
|
||||
//! \~russian Макрос объявлен когда операционная система Android
|
||||
# define ANDROID
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when operation system is any Linux
|
||||
//! \~russian Макрос объявлен когда операционная система Linux
|
||||
# define LINUX
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when operation system is FreeRTOS
|
||||
//! \~russian Макрос объявлен когда операционная система FreeRTOS
|
||||
# define FREERTOS
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when compiler is GCC or MinGW
|
||||
//! \~russian Макрос объявлен когда компилятор GCC или MinGW
|
||||
# define CC_GCC
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when PIP is decided that host is support language
|
||||
//! \~russian Макрос объявлен когда PIP решил что система поддерживает локализацию
|
||||
# define HAS_LOCALE
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when PIP is building for embedded systems
|
||||
//! \~russian Макрос объявлен когда PIP собирается для встраиваемых систем
|
||||
# define MICRO_PIP
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when compiler is Visual Studio
|
||||
//! \~russian Макрос объявлен когда компилятор Visual Studio
|
||||
# define CC_VC
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when compiler is AVR GCC
|
||||
//! \~russian Макрос объявлен когда компилятор AVR GCC
|
||||
# define CC_AVR_GCC
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when compiler is unknown
|
||||
//! \~russian Макрос объявлен когда компилятор неизвестен
|
||||
# define CC_OTHER
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro is defined when PIP can use "rt" library for \a PITimer::ThreadRT timers implementation
|
||||
//! \~russian Макрос объявлен когда PIP может использовать библиотеку "rt" для \a PITimer::ThreadRT реализации таймера
|
||||
# define PIP_TIMER_RT
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro to declare private section, "export" is optional
|
||||
//! \~russian Макрос для объявления частной секции, "export" необязателен
|
||||
# define PRIVATE_DECLARATION(export)
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro to start definition of private section
|
||||
//! \~russian Макрос для начала реализации частной секции
|
||||
# define PRIVATE_DEFINITION_START(Class)
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro to end definition of private section
|
||||
//! \~russian Макрос для окончания реализации частной секции
|
||||
# define PRIVATE_DEFINITION_END(Class)
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro to access private section by pointer
|
||||
//! \~russian Макрос для доступа к частной секции
|
||||
# define PRIVATE
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro to access private section by pointer without brakes ()
|
||||
//! \~russian Макрос для доступа к частной секции без обрамляющих скобок ()
|
||||
# define PRIVATEWB
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro to start static initializer
|
||||
//! \~russian Макрос для начала статической инициализации
|
||||
# define STATIC_INITIALIZER_BEGIN
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro to end static initializer
|
||||
//! \~russian Макрос для окончания статической инициализации
|
||||
# define STATIC_INITIALIZER_END
|
||||
@@ -359,10 +359,10 @@
|
||||
} _PIP_ADD_COUNTER(_pip_initializer_);
|
||||
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Minimal sleep in milliseconds for internal PIP using
|
||||
//! \~russian Минимальное значание задержки в милисекундах для внутреннего использования в библиотеке PIP
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english Using in \a piMinSleep(), \a PIThread, \a PITimer::Pool. By default 1ms.
|
||||
//! \~russian Используется в \a piMinSleep(), \a PIThread, \a PITimer::Pool. По умолчанию равна 1мс.
|
||||
#ifndef PIP_MIN_MSLEEP
|
||||
@@ -374,28 +374,28 @@
|
||||
#endif
|
||||
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro used for infinite loop
|
||||
//! \~russian Макрос для бесконечного цикла
|
||||
#define FOREVER for (;;)
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro used for infinite wait
|
||||
//! \~russian Макрос для бесконечного ожидания
|
||||
#define FOREVER_WAIT FOREVER piMinSleep;
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Macro used for infinite wait
|
||||
//! \~russian Макрос для бесконечного ожидания
|
||||
#define WAIT_FOREVER FOREVER piMinSleep;
|
||||
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Global variable enabling output to piCout, default is true
|
||||
//! \~russian Глобальная переменная, включающая вывод в piCout, при старте true
|
||||
extern PIP_EXPORT bool piDebug;
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Global variable that set minimum real update interval
|
||||
//! for function PIInit::mountInfo(), default is 10000 ms
|
||||
//! \~russian Глобальная переменная минимального ожидания между реальным обновлением
|
||||
@@ -410,18 +410,18 @@ typedef unsigned long long ullong;
|
||||
typedef long long llong;
|
||||
typedef long double ldouble;
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function for swap two values
|
||||
//! \~russian Шаблонный метод для перестановки двух значений
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english Example:\n \snippet piincludes.cpp swap
|
||||
//! \~russian Пример:\n \snippet piincludes.cpp swap
|
||||
template<typename T> inline void piSwap(T & f, T & s) {T t(std::move(f)); f = std::move(s); s = std::move(t);}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function for swap two values without "="
|
||||
//! \~russian Шаблонный метод для перестановки двух значений без использования "="
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english Example:\n \snippet piincludes.cpp swapBinary
|
||||
//! \~russian Пример:\n \snippet piincludes.cpp swapBinary
|
||||
template<typename T> inline void piSwapBinary(T & f, T & s) {
|
||||
@@ -458,10 +458,10 @@ template<> inline void piSwapBinary(const void *& f, const void *& s) {
|
||||
}
|
||||
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Function for compare two values without "==" by raw content
|
||||
//! \~russian Метод для сравнения двух значений без использования "==" (по сырому содержимому)
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english Example:\n \snippet piincludes.cpp compareBinary
|
||||
//! \~russian Пример:\n \snippet piincludes.cpp compareBinary
|
||||
inline bool piCompareBinary(const void * f, const void * s, size_t size) {
|
||||
@@ -471,10 +471,10 @@ inline bool piCompareBinary(const void * f, const void * s, size_t size) {
|
||||
return true;
|
||||
}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function return round of float falue
|
||||
//! \~russian Шаблонный метод, возвращающий округленное значение
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! Round is the nearest integer value \n
|
||||
//! There are some macros:
|
||||
@@ -493,10 +493,10 @@ inline bool piCompareBinary(const void * f, const void * s, size_t size) {
|
||||
//! \snippet piincludes.cpp round
|
||||
template<typename T> inline constexpr int piRound(const T & v) {return int(v >= T(0.) ? v + T(0.5) : v - T(0.5));}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function return floor of float falue
|
||||
//! \~russian Шаблонный метод, возвращающий floor значение
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! Floor is the largest integer that is not greater than "v" \n
|
||||
//! There are some macros:
|
||||
@@ -515,10 +515,10 @@ template<typename T> inline constexpr int piRound(const T & v) {return int(v >=
|
||||
//! \snippet piincludes.cpp floor
|
||||
template<typename T> inline constexpr int piFloor(const T & v) {return v < T(0) ? int(v) - 1 : int(v);}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function return ceil of float falue
|
||||
//! \~russian Шаблонный метод, возвращающий ceil значение
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! Ceil is the smallest integer that is not less than "v" \n
|
||||
//! There are some macros:
|
||||
@@ -537,10 +537,10 @@ template<typename T> inline constexpr int piFloor(const T & v) {return v < T(0)
|
||||
//! \snippet piincludes.cpp ceil
|
||||
template<typename T> inline constexpr int piCeil(const T & v) {return v < T(0) ? int(v) : int(v) + 1;}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function return absolute of numeric falue
|
||||
//! \~russian Шаблонный метод, возвращающий модуль числового значения
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! Absolute is the positive or equal 0 value \n
|
||||
//! There are some macros:
|
||||
@@ -567,10 +567,10 @@ template<typename T> inline constexpr int piCeil(const T & v) {return v < T(0) ?
|
||||
//! \snippet piincludes.cpp abs
|
||||
template<typename T> inline constexpr T piAbs(const T & v) {return (v >= T(0) ? v : -v);}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function return minimum of two values
|
||||
//! \~russian Шаблонный метод, возвращающий минимум из двух значений
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! There are some macros:
|
||||
//! - \c piMins for "short"
|
||||
@@ -595,10 +595,10 @@ template<typename T> inline constexpr T piAbs(const T & v) {return (v >= T(0) ?
|
||||
//! \snippet piincludes.cpp min2
|
||||
template<typename T> inline constexpr T piMin(const T & f, const T & s) {return ((f > s) ? s : f);}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function return minimum of tree values
|
||||
//! \~russian Шаблонный метод, возвращающий минимум из трех значений
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! There are some macros:
|
||||
//! - \c piMins for "short"
|
||||
@@ -623,10 +623,10 @@ template<typename T> inline constexpr T piMin(const T & f, const T & s) {return
|
||||
//! \snippet piincludes.cpp min3
|
||||
template<typename T> inline constexpr T piMin(const T & f, const T & s, const T & t) {return ((f < s && f < t) ? f : ((s < t) ? s : t));}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function return maximum of two values
|
||||
//! \~russian Шаблонный метод, возвращающий максимум из двух значений
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! There are some macros:
|
||||
//! - \c piMaxs for "short"
|
||||
@@ -651,10 +651,10 @@ template<typename T> inline constexpr T piMin(const T & f, const T & s, const T
|
||||
//! \snippet piincludes.cpp max2
|
||||
template<typename T> inline constexpr T piMax(const T & f, const T & s) {return ((f < s) ? s : f);}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function return maximum of tree values
|
||||
//! \~russian Шаблонный метод, возвращающий максимум из трех значений
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! There are some macros:
|
||||
//! - \c piMaxs for "short"
|
||||
@@ -679,10 +679,10 @@ template<typename T> inline constexpr T piMax(const T & f, const T & s) {return
|
||||
//! \snippet piincludes.cpp max3
|
||||
template<typename T> inline constexpr T piMax(const T & f, const T & s, const T & t) {return ((f > s && f > t) ? f : ((s > t) ? s : t));}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function return clamped value
|
||||
//! \~russian Шаблонный метод, возвращающий ограниченное значение
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! Clamped is the not greater than "max" and not lesser than "min" value \n
|
||||
//! There are some macros:
|
||||
@@ -709,7 +709,7 @@ template<typename T> inline constexpr T piMax(const T & f, const T & s, const T
|
||||
//! \snippet piincludes.cpp clamp
|
||||
template<typename T> inline constexpr T piClamp(const T & v, const T & min, const T & max) {return (v > max ? max : (v < min ? min : v));}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Function inverse byte order in memory block ([1..N] -> [N..1])
|
||||
//! \~russian Метод для смены порядка байт в блоке памяти ([1..N] -> [N..1])
|
||||
inline void piLetobe(void * data, int size) {
|
||||
@@ -717,10 +717,10 @@ inline void piLetobe(void * data, int size) {
|
||||
piSwap<uchar>(((uchar*)data)[size - i - 1], ((uchar*)data)[i]);
|
||||
}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Function for compare two numeric values with epsilon
|
||||
//! \~russian Метод для сравнения двух чисел с порогом
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! There are some macros:
|
||||
//! - \c piComparef for "float"
|
||||
@@ -740,15 +740,15 @@ inline bool piCompare(const T & a, const T & b, const T & epsilon = std::numeric
|
||||
return piAbs(a - b) <= epsilon;
|
||||
}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function that inverse byte order of value "v"
|
||||
//! \~russian Шаблонный метод, меняющий порядок байт в переменной "v"
|
||||
template<typename T> inline void piLetobe(T * v) {piLetobe(v, sizeof(T));}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Templated function that returns "v" with inversed byte order
|
||||
//! \~russian Шаблонный метод, возвращающий переменную "v" с измененным порядком байт
|
||||
//! \details
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! This function used to convert values between little and big endian \n
|
||||
//! There are some macros:
|
||||
@@ -785,7 +785,7 @@ template<> inline float piLetobe(const float & v) {
|
||||
return a.f;
|
||||
}
|
||||
|
||||
//! \brief
|
||||
//! \~\brief
|
||||
//! \~english Generic hash function, implements murmur3/32 algorithm
|
||||
//! \~russian Хэш-функция общего назначения, по алгоритму murmur3/32
|
||||
inline uint piHashData(const uchar * data, uint len, uint seed = 0) {
|
||||
|
||||
Reference in New Issue
Block a user