PIP 5.5.3
Platform-Independent Primitives
Макросы | Перечисления | Функции
Файл picontainers.h

Базовые макросы для контейнеров Подробнее...

#include "picout.h"
#include "piintrospection_containers.h"
#include <stdlib.h>
#include <algorithm>
#include <functional>
#include <initializer_list>
#include <new>
#include <string.h>
#include <type_traits>

Макросы

#define piForTimes(c)   for (int _i##c = 0; _i##c < c; ++_i##c)
 Макрос для короткой записи стандартного цикла "for". Подробнее...
 
#define piForeach(i, c)   for (i: c)
 Макрос для перебора любых контейнеров Подробнее...
 
#define piForeachC(i, c)   for (const i: c)
 Макрос для перебора любых контейнеров Подробнее...
 
#define piForeachR(i, c)   for (i: PIReverseWrap(c))
 Макрос для перебора любых контейнеров Подробнее...
 
#define piForeachRC(i, c)   for (const i: PIReverseWrap(c))
 Макрос для перебора любых контейнеров Подробнее...
 

Перечисления

enum  ReshapeOrder { ReshapeByRow , ReshapeByColumn }
 Порядок обхода для функции изменения размерности reshape(). Подробнее...
 

Функции

template<typename C >
_PIReverseWrapper< C > PIReverseWrap (C &c)
 Шаблонная функция обертки любого контейнера для обратного доступа через итераторы
 

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

Базовые макросы для контейнеров

Авторы

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

Макросы

◆ piForTimes

#define piForTimes (   c)    for (int _i##c = 0; _i##c < c; ++_i##c)

Макрос для короткой записи стандартного цикла "for".

Аргументы
cКоличество итераций цикла

◆ piForeach

#define piForeach (   i,
 
)    for (i: c)

Макрос для перебора любых контейнеров

Уст.:
Устарело, используется только для обратной совместимости. Используйте C++ Range-based for loop.

Перебор всех элементов контейнера с доступом на чтение и запись. Перебор осуществляется в прямом порядке. Пример использования:

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
#define piForeach(i, c)
Макрос для перебора любых контейнеров
Definition: picontainers.h:166
#define piCout
Макрос для условного (piDebug) вывода в PICout(StdOut)
Definition: picout.h:35
См. также
piForeachC, piForeachR, piForeachRC

◆ piForeachC

#define piForeachC (   i,
 
)    for (const i: c)

Макрос для перебора любых контейнеров

Уст.:
Устарело, используется только для обратной совместимости. Используйте C++ Range-based for loop.

Перебор всех элементов контейнера с доступом только на чтение. Перебор осуществляется в прямом порядке.

См. также
piForeach, piForeachR, piForeachRC

◆ piForeachR

#define piForeachR (   i,
 
)    for (i: PIReverseWrap(c))

Макрос для перебора любых контейнеров

Уст.:
Устарело, используется только для обратной совместимости. Используйте C++ Range-based for loop.

Перебор всех элементов контейнера с доступом на чтение и запись. Перебор осуществляется в обратном порядке.

См. также
piForeach, piForeachC, piForeachRC

◆ piForeachRC

#define piForeachRC (   i,
 
)    for (const i: PIReverseWrap(c))

Макрос для перебора любых контейнеров

Уст.:
Устарело, используется только для обратной совместимости. Используйте C++ Range-based for loop.

Перебор всех элементов контейнера с доступом только на чтение. Перебор осуществляется в обратном порядке. Также можно писать piForeachCR

См. также
piForeach, piForeachC, piForeachR

Перечисления

◆ ReshapeOrder

Порядок обхода для функции изменения размерности reshape().

См. также
PIVector::reshape(), PIDeque::reshape()
Элементы перечислений
ReshapeByRow 

Обход элементов построчно, так же как они находятся в памяти

ReshapeByColumn 

Обход элементов по столбцам