picontainers doc, PIVector doc
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
/*! \addtogroup Containers
|
||||
* \{
|
||||
* \file picontainers.h
|
||||
* \brief
|
||||
* \~english Base macros for generic containers
|
||||
* \~russian Базовые макросы для контейнеров
|
||||
* \~\authors
|
||||
* \~english
|
||||
* Ivan Pelipenko peri4ko@yandex.ru;
|
||||
* Andrey Bychkov work.a.b@yandex.ru;
|
||||
* \~russian
|
||||
* Иван Пелипенко peri4ko@yandex.ru;
|
||||
* Андрей Бычков work.a.b@yandex.ru;
|
||||
* \~\} */
|
||||
//! \addtogroup Containers
|
||||
//! \{
|
||||
//! \file picontainers.h
|
||||
//! \brief
|
||||
//! \~english Base macros for generic containers
|
||||
//! \~russian Базовые макросы для контейнеров
|
||||
//! \~\authors
|
||||
//! \~english
|
||||
//! Ivan Pelipenko peri4ko@yandex.ru;
|
||||
//! Andrey Bychkov work.a.b@yandex.ru;
|
||||
//! \~russian
|
||||
//! Иван Пелипенко peri4ko@yandex.ru;
|
||||
//! Андрей Бычков work.a.b@yandex.ru;
|
||||
//! \~\}
|
||||
/*
|
||||
PIP - Platform Independent Primitives
|
||||
Base macros for generic containers
|
||||
@@ -61,105 +61,99 @@ private:
|
||||
};
|
||||
|
||||
|
||||
/*! \brief
|
||||
* \~english Template reverse wrapper over any container
|
||||
* \~russian Шаблонная функция обертки любого контейнера для обратного доступа через итераторы
|
||||
*/
|
||||
//! \brief
|
||||
//! \~english Template reverse wrapper over any container
|
||||
//! \~russian Шаблонная функция обертки любого контейнера для обратного доступа через итераторы
|
||||
template <typename C> _PIReverseWrapper<C> PIReverseWrap(C & c) {return _PIReverseWrapper<C>(c);}
|
||||
template <typename C> _PIReverseWrapper<C> PIReverseWrap(const C & c) {return _PIReverseWrapper<C>(c);}
|
||||
|
||||
|
||||
/*! \brief
|
||||
* \~english Macro for short replacement of standart "for"
|
||||
* \~russian Макрос для короткой записи стандартного цикла "for"
|
||||
* \~\param c
|
||||
* \~english Iteration times in loop
|
||||
* \~russian Количество итераций цикла
|
||||
*/
|
||||
//! \brief
|
||||
//! \~english Macro for short replacement of standart "for"
|
||||
//! \~russian Макрос для короткой записи стандартного цикла "for"
|
||||
//! \~\param c
|
||||
//! \~english Iteration times in loop
|
||||
//! \~russian Количество итераций цикла
|
||||
#define piForTimes(c) for(int _i##c = 0; _i##c < c; ++_i##c)
|
||||
|
||||
|
||||
/*! \brief
|
||||
* \~english Macro for iterate any container
|
||||
* \~russian Макрос для перебора любых контейнеров
|
||||
* \~\deprecated
|
||||
* \~english Deprecated, using only for backward compatibility. Use
|
||||
* [C++ Range-based for loop](https://en.cppreference.com/w/cpp/language/range-for).
|
||||
* \~russian Устарело, используется только для обратной совместимости. Используйте
|
||||
* [C++ Range-based for loop](https://ru.cppreference.com/w/cpp/language/range-for).
|
||||
* \~\details
|
||||
* \~english Get read/write access to each element of container.
|
||||
* Iterating in forward direction.
|
||||
* Example of using:
|
||||
* \~russian Перебор всех элементов контейнера с доступом на чтение и запись.
|
||||
* Перебор осуществляется в прямом порядке.
|
||||
* Пример использования:
|
||||
* \~\code
|
||||
* PIVector<int> vec;
|
||||
* vec << 1 << 2 << 3;
|
||||
* piForeach(int & i, vec) piCout << i;
|
||||
* // 1
|
||||
* // 2
|
||||
* // 3
|
||||
* piForeach(int & i, vec) i++;
|
||||
* piForeach(int & i, vec) piCout << i;
|
||||
* // 2
|
||||
* // 3
|
||||
* // 4
|
||||
* \endcode
|
||||
* \sa \a piForeachC, \a piForeachR, \a piForeachRC
|
||||
*/
|
||||
//! \brief
|
||||
//! \~english Macro for iterate any container
|
||||
//! \~russian Макрос для перебора любых контейнеров
|
||||
//! \~\deprecated
|
||||
//! \~english Deprecated, using only for backward compatibility. Use
|
||||
//! [C++ Range-based for loop](https://en.cppreference.com/w/cpp/language/range-for).
|
||||
//! \~russian Устарело, используется только для обратной совместимости. Используйте
|
||||
//! [C++ Range-based for loop](https://ru.cppreference.com/w/cpp/language/range-for).
|
||||
//! \~\details
|
||||
//! \~english Get read/write access to each element of container.
|
||||
//! Iterating in forward direction.
|
||||
//! Example of using:
|
||||
//! \~russian Перебор всех элементов контейнера с доступом на чтение и запись.
|
||||
//! Перебор осуществляется в прямом порядке.
|
||||
//! Пример использования:
|
||||
//! \~\code
|
||||
//! PIVector<int> vec;
|
||||
//! vec << 1 << 2 << 3;
|
||||
//! piForeach(int & i, vec) piCout << i;
|
||||
//! // 1
|
||||
//! // 2
|
||||
//! // 3
|
||||
//! piForeach(int & i, vec) i++;
|
||||
//! piForeach(int & i, vec) piCout << i;
|
||||
//! // 2
|
||||
//! // 3
|
||||
//! // 4
|
||||
//! \endcode
|
||||
//! \sa \a piForeachC, \a piForeachR, \a piForeachRC
|
||||
#define piForeach(i, c) for(i : c)
|
||||
|
||||
/*! \brief
|
||||
* \~english Macro for iterate any container
|
||||
* \~russian Макрос для перебора любых контейнеров
|
||||
* \~\deprecated
|
||||
* \~english Deprecated, using only for backward compatibility. Use
|
||||
* [C++ Range-based for loop](https://en.cppreference.com/w/cpp/language/range-for).
|
||||
* \~russian Устарело, используется только для обратной совместимости. Используйте
|
||||
* [C++ Range-based for loop](https://ru.cppreference.com/w/cpp/language/range-for).
|
||||
* \~\details
|
||||
* \~english Get read only access to each element of container.
|
||||
* Iterating in forward direction.
|
||||
* \~russian Перебор всех элементов контейнера с доступом только на чтение.
|
||||
* Перебор осуществляется в прямом порядке.
|
||||
* \~ \sa \a piForeach, \a piForeachR, \a piForeachRC
|
||||
*/
|
||||
//! \brief
|
||||
//! \~english Macro for iterate any container
|
||||
//! \~russian Макрос для перебора любых контейнеров
|
||||
//! \~\deprecated
|
||||
//! \~english Deprecated, using only for backward compatibility. Use
|
||||
//! [C++ Range-based for loop](https://en.cppreference.com/w/cpp/language/range-for).
|
||||
//! \~russian Устарело, используется только для обратной совместимости. Используйте
|
||||
//! [C++ Range-based for loop](https://ru.cppreference.com/w/cpp/language/range-for).
|
||||
//! \~\details
|
||||
//! \~english Get read only access to each element of container.
|
||||
//! Iterating in forward direction.
|
||||
//! \~russian Перебор всех элементов контейнера с доступом только на чтение.
|
||||
//! Перебор осуществляется в прямом порядке.
|
||||
//! \~ \sa \a piForeach, \a piForeachR, \a piForeachRC
|
||||
#define piForeachC(i, c) for(const i : c)
|
||||
|
||||
/*! \brief
|
||||
* \~english Macro for iterate any container
|
||||
* \~russian Макрос для перебора любых контейнеров
|
||||
* \~\deprecated
|
||||
* \~english Deprecated, using only for backward compatibility. Use
|
||||
* [C++ Range-based for loop](https://en.cppreference.com/w/cpp/language/range-for).
|
||||
* \~russian Устарело, используется только для обратной совместимости. Используйте
|
||||
* [C++ Range-based for loop](https://ru.cppreference.com/w/cpp/language/range-for).
|
||||
* \~\details
|
||||
* \~english Get read/write access to each element of container.
|
||||
* Iterating in backward direction.
|
||||
* \~russian Перебор всех элементов контейнера с доступом на чтение и запись.
|
||||
* Перебор осуществляется в обратном порядке.
|
||||
* \~ \sa \a piForeach, \a piForeachC, \a piForeachRC
|
||||
*/
|
||||
//! \brief
|
||||
//! \~english Macro for iterate any container
|
||||
//! \~russian Макрос для перебора любых контейнеров
|
||||
//! \~\deprecated
|
||||
//! \~english Deprecated, using only for backward compatibility. Use
|
||||
//! [C++ Range-based for loop](https://en.cppreference.com/w/cpp/language/range-for).
|
||||
//! \~russian Устарело, используется только для обратной совместимости. Используйте
|
||||
//! [C++ Range-based for loop](https://ru.cppreference.com/w/cpp/language/range-for).
|
||||
//! \~\details
|
||||
//! \~english Get read/write access to each element of container.
|
||||
//! Iterating in backward direction.
|
||||
//! \~russian Перебор всех элементов контейнера с доступом на чтение и запись.
|
||||
//! Перебор осуществляется в обратном порядке.
|
||||
//! \~ \sa \a piForeach, \a piForeachC, \a piForeachRC
|
||||
#define piForeachR(i, c) for(i : PIReverseWrap(c))
|
||||
|
||||
/*! \brief
|
||||
* \~english Macro for iterate any container
|
||||
* \~russian Макрос для перебора любых контейнеров
|
||||
* \~\deprecated
|
||||
* \~english Deprecated, using only for backward compatibility. Use
|
||||
* [C++ Range-based for loop](https://en.cppreference.com/w/cpp/language/range-for).
|
||||
* \~russian Устарело, используется только для обратной совместимости. Используйте
|
||||
* [C++ Range-based for loop](https://ru.cppreference.com/w/cpp/language/range-for).
|
||||
* \~\details
|
||||
* \~english Get read only access to each element of container.
|
||||
* Iterating in backward direction. Also has alias **piForeachCR**
|
||||
* \~russian Перебор всех элементов контейнера с доступом только на чтение.
|
||||
* Перебор осуществляется в обратном порядке. Также можно писать **piForeachCR**
|
||||
* \~ \sa \a piForeach, \a piForeachC, \a piForeachR
|
||||
*/
|
||||
//! \brief
|
||||
//! \~english Macro for iterate any container
|
||||
//! \~russian Макрос для перебора любых контейнеров
|
||||
//! \~\deprecated
|
||||
//! \~english Deprecated, using only for backward compatibility. Use
|
||||
//! [C++ Range-based for loop](https://en.cppreference.com/w/cpp/language/range-for).
|
||||
//! \~russian Устарело, используется только для обратной совместимости. Используйте
|
||||
//! [C++ Range-based for loop](https://ru.cppreference.com/w/cpp/language/range-for).
|
||||
//! \~\details
|
||||
//! \~english Get read only access to each element of container.
|
||||
//! Iterating in backward direction. Also has alias **piForeachCR**
|
||||
//! \~russian Перебор всех элементов контейнера с доступом только на чтение.
|
||||
//! Перебор осуществляется в обратном порядке. Также можно писать **piForeachCR**
|
||||
//! \~ \sa \a piForeach, \a piForeachC, \a piForeachR
|
||||
#define piForeachRC(i, c) for(const i : PIReverseWrap(c))
|
||||
#define piForeachCR piForeachRC
|
||||
|
||||
|
||||
Reference in New Issue
Block a user