TSIZE3D: различия между версиями
Перейти к навигации
Перейти к поиску
Строка 21: | Строка 21: | ||
===Типы=== | ===Типы=== | ||
{{ | {{type_list_begin_old_1}} | ||
{{ | {{type_list_add_old_1|allocator_type|<tt>[http://en.cppreference.com/w/cpp/memory/allocator std::allocator]</tt> - тип [http://en.cppreference.com/w/cpp/concept/Allocator менеджера памяти] для хранения элементов вектора.}} | ||
{{ | {{type_list_add_old_1|value_type|<tt>double</tt> - тип элемента вектора.}} | ||
{{ | {{type_list_add_old_1|size_type|Беззнаковый целочисленный тип для описания размеров.}} | ||
{{ | {{type_list_add_old_1|random_composition_access_tag|<tt>[http://en.cppreference.com/w/cpp/types/integral_constant std::true_type]</tt> - типовая метка для оптимизации [[package|запаковщика]], говорящая о произвольном доступе к запакованному массиву экземпляров класса.}} | ||
{{ | {{type_list_add_old_1|[http://www.chusov.org/doxygen/chsvlib_concepts.html#algebraic_type algebraic_category]|[http://www.chusov.org/doxygen/struct_chusov_1_1_math_1_1additive__group__algebraic__tag.html additive_group_algebraic_tag] - типовая метка алгебраической структуры, которую реализует множество всех возможных экземпляров класса. Соответствует аддитивной группе.}} | ||
{{ | {{type_list_end_old_1}} | ||
===Методы=== | ===Методы=== |
Текущая версия на 21:15, 3 декабря 2017
Трехкомпонентный вектор-столбец для описания трехмерного размера в виде разницы двух координат по соответствующим осям x, y и z.
template <class unit_t, class alloc_t = std::allocator<unit_t>>
struct __TSIZE3D: ::Chusov::Math::FixedMatrix<unit_t, 1, 3, alloc_t, __TSIZE3D<unit_t, alloc_t>>;
Параметры шаблона
unit_t | Тип элемента вектора. |
alloc_t | Тип менеджера памяти элементов вектора. По умолчанию - std::allocator. |
Специализации шаблона
__TSIZE3D<double>
|
SIZE3DEXT - тип для выражения внешних единиц измерения длины. |
__TSIZE3D<std::uint32_t>
|
SIZE3DINT - тип для выражения внутрисистемных единиц измерения длины. В настоящее время не используется. |
Типы
Тип | Описание |
---|---|
allocator_type | std::allocator - тип менеджера памяти для хранения элементов вектора. |
value_type | double - тип элемента вектора. |
size_type | Беззнаковый целочисленный тип для описания размеров. |
random_composition_access_tag | std::true_type - типовая метка для оптимизации запаковщика, говорящая о произвольном доступе к запакованному массиву экземпляров класса. |
algebraic_category | additive_group_algebraic_tag - типовая метка алгебраической структуры, которую реализует множество всех возможных экземпляров класса. Соответствует аддитивной группе. |
Методы
__TSIZE3D | Создают экземпляр объекта класса. |
Marshal | Функция маршаллинга вектора. |
MarshalSize | Возвращает размер запакованного вектора. |
cx | Возвращает первую компоненту вектора. |
cy | Возвращает вторую компоненту вектора. |
cz | Возвращает третью компоненту вектора. |
Компонент является матрицей-столбцом Chusov::Math::FixedMatrix 1x3. Класс матрицы реализует двумерный контейнер (т.е. контейнер столбцов-контейнеров элементов) с поддержкой итераторов с произвольным доступом к столбцам и элементам, а также алгебраическим типом, реализующим аддитивную группу. Также поддерживаются некоторые стандартные операции над матрицами.