C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122
Файл generic_utility.h

Шаблонные утилиты. Подробнее...

Классы

struct  null_type
 Пустой тип данных. Подробнее...
 
struct  index_tag< size_t >
 Шаблон для получения индексного типа (для статического сопоставления типов на этапе компиляции) Подробнее...
 
struct  graph_traits< Graph >
 Графовые характеристики типов. Подробнее...
 
struct  ref_pair< _Ty1, _Ty2 >
 Пара ссылок. Подробнее...
 
class  static_array< Elem, arrSize >
 Статический вектор. Требуется, что бы элементы вектора имели конструктор по умолчанию, конструктор копирования и оператор присвоения. Подробнее...
 
struct  static_pair< Elem >
 Статический вектор двух элементов (пара). Подробнее...
 
class  sorting_array< KeyType, _Pr >
 Динамический контейнер для хранения элементов упорядоченного множества. Тип элемента контейнера должен иметь операторы порядка. Не стоит путать этот тип контейнера с set или map. Он вовсе не обязан всегда поддерживаться в отсортированном состоянии, а только тогда, когда это закажут (с кэшированием алгоритма сортировки). Гарантируется, что вектор отсортирован сразу после вызова функций get_sorted или sort. Константные методы, а также метод erase не нарушают сортировки.
. Подробнее...
 
struct  dbg_inspector< _PairUnion >
 Отладочный инспектор union-контейнера (НЕдоделан!). Подробнее...
 
struct  empty_variant
 Хвостовой элемент для рекурсивного определения типа recursive_union<T1,T2>. Подробнее...
 
struct  which_type< _PairUnion, _Type >
 Получить номер типа из списка union-контейнера. Подробнее...
 
struct  type_which< T, idx >
 Получить тип варианта с заданным номером. Подробнее...
 
struct  union_conductor< _PairUnion, typeNb, power >
 Проводник посетителя для рекурсивно-заданного контейнера. Подробнее...
 
class  recursive_union< Type, Tail >
 Рекурсивное определение класса "union-контейнер". Контейнер, который может хранить элемент типа "value_type" или один из типов хвостового контейнера. Подробнее...
 
class  aligned_union< T0, T1, T2, T3, T4, T5 >
 union-контейнер для экземпляра типа из определенного набора типов. Позволяет создать тип, принимающий значения из некоторого набора разнородных типов. Подробнее...
 

Пространства имен

 c3d
 Объявление пространства имен C3D.
 

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

enum  color_code
 Цветовая маркировка (применяется для графов)
 

Функции

template<typename Type >
ref_pair< Type, Type > tie (Type &iter1, Type &iter2)
 Выдать ссылки одной связкой.
 
template<class T >
const T & max_of (const T &elem1, const T &elem2)
 Наибольшее из двух.
 
template<class T >
const T & min_of (const T &elem1, const T &elem2)
 Наибольшее из двух.
 
template<class T >
void swap_vals (T &elem1, T &elem2)
 Поменять местами значения.
 
template<class T >
void swap_ptrs (T *&elem1, T *&elem2)
 Поменять местами значения указателей.
 
template<class Type >
void swap_ptrs (SPtr< Type > &p1, SPtr< Type > &p2)
 Поменять местами значения указателей.
 
template<typename IntegerType >
IntegerType gcd (IntegerType a, IntegerType b)
 Получить НОД для пары целых чисел
 
template<class SortedArray >
bool check_ordering (const SortedArray &arr)
 Проверка упорядоченности массива
 
template<class DataSt >
DataSt null_struct ()
 Обнулить структуру данных (использовать осторожно!).
 

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

Шаблонные утилиты.