TSIZE3D: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{NavBar|{{SIZE3DEXT hierarchy}}}} {{SIZE3DEXT_brief}} <syntaxhighlight lang="cpp"> template <class unit_t, class alloc_t = std::allocator<unit_t>> struct __TSIZ…»)
 
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{NavBar|{{SIZE3DEXT hierarchy}}}}
{{DISPLAYTITLE:__TSIZE3D}}
{{SIZE3DEXT_brief}}
{{NavBar|{{Системная иерархия:__TSIZE3D}}}}
{{__TSIZE3D brief}}


<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
template <class unit_t, class alloc_t = std::allocator<unit_t>>
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>>;
struct __TSIZE3D: ::Chusov::Math::FixedMatrix<unit_t, 1, 3, alloc_t, __TSIZE3D<unit_t, alloc_t>>;
</syntaxhighlight>


typedef __TSIZE3D<double> SIZE3DEXT;
===Параметры шаблона===
</syntaxhighlight>
{{class template paramlist begin}}
{{class template paramlist add|unit_t|Тип элемента вектора.}}
{{class template paramlist add|alloc_t|Тип менеджера памяти элементов вектора. По умолчанию - <tt>[http://en.cppreference.com/w/cpp/memory/allocator std::allocator].</tt>}}
{{class template paramlist end}}
 
===Специализации шаблона===
{{class template specialization list begin}}
{{class template specialization list add|__TSIZE3D<double>|<tt>SIZE3DEXT</tt> - тип для выражения внешних единиц измерения длины.}}
{{class template specialization list add|__TSIZE3D<std::uint32_t>|<tt>SIZE3DINT</tt> - тип для выражения внутрисистемных единиц измерения длины. В настоящее время не используется.}}
{{class template specialization list end}}


===Типы===
===Типы===
{{type_list begin}}
{{type_list_begin_old_1}}
{{type_list add|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|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|value_type|<tt>double</tt> - тип элемента вектора.}}
{{type_list_add_old_1|value_type|<tt>double</tt> - тип элемента вектора.}}
{{type_list add|size_type|Беззнаковый целочисленный тип для описания размеров.}}
{{type_list_add_old_1|size_type|Беззнаковый целочисленный тип для описания размеров.}}
{{type_list add|random_composition_access_tag|<tt>[http://en.cppreference.com/w/cpp/types/integral_constant std::true_type]</tt> - типовая метка для оптимизации [[package|запаковщика]], говорящая о произвольном доступе к запакованному массиву экземпляров класса.}}
{{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|[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_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}}
{{type_list_end_old_1}}


===Методы===
===Методы===
{{function_list_begin}}
{{function_list_begin}}
{{function_list_add|''конструкторы''|reference_name=SIZE3DEXT_ctors|description={{SIZE3DEXT_ctors_brief}}}}
{{function_list_add|__TSIZE3D|reference_name=__TSIZE3D::__TSIZE3D|description={{__TSIZE3D::__TSIZE3D brief}}}}
{{function_list_add|Marshal|reference_name=SIZE3DEXT_Marshal|description={{SIZE3DEXT_Marshal_brief}}}}
{{function_list_add|Marshal|reference_name=__TSIZE3D::Marshal|description={{__TSIZE3D::Marshal brief}}}}
{{function_list_add|MarshalSize|reference_name=SIZE3DEXT_MarshalSize|description={{SIZE3DEXT_MarshalSize_brief}}}}
{{function_list_add|MarshalSize|reference_name=__TSIZE3D::MarshalSize|description={{__TSIZE3D::MarshalSize brief}}}}
{{function_list_add|cx|reference_name=SIZE3DEXT_cx|description={{SIZE3DEXT_cx_brief}}}}
{{function_list_add|cx|reference_name=__TSIZE3D::cx|description={{__TSIZE3D::cx brief}}}}
{{function_list_add|cy|reference_name=SIZE3DEXT_cy|description={{SIZE3DEXT_cy_brief}}}}
{{function_list_add|cy|reference_name=__TSIZE3D::cy|description={{__TSIZE3D::cy brief}}}}
{{function_list_add|cz|reference_name=SIZE3DEXT_cz|description={{SIZE3DEXT_cz_brief}}}}
{{function_list_add|cz|reference_name=__TSIZE3D::cz|description={{__TSIZE3D::cz brief}}}}
{{function_list_end}}
{{function_list_end}}


Компонент является матрицей-столбцом [http://www.chusov.org/doxygen/class_chusov_1_1_math_1_1_fixed_matrix.html Chusov::Math::FixedMatrix] 1x3. [http://www.chusov.org/doxygen/class_chusov_1_1_math_1_1_matrix.html Класс матрицы] реализует двумерный [http://en.cppreference.com/w/cpp/concept/AllocatorAwareContainer контейнер] (т.е. контейнер столбцов-контейнеров элементов) с поддержкой [http://en.cppreference.com/w/cpp/concept/RandomAccessIterator итераторов с произвольным доступом] к столбцам и элементам, а также [http://www.chusov.org/doxygen/chsvlib_concepts.html#algebraic_type алгебраическим типом], реализующим [http://www.chusov.org/doxygen/chsvlib_concepts.html#additive_group_concept аддитивную группу]. Также поддерживаются некоторые стандартные операции над матрицами.
Компонент является матрицей-столбцом [http://www.chusov.org/doxygen/class_chusov_1_1_math_1_1_fixed_matrix.html Chusov::Math::FixedMatrix] 1x3. [http://www.chusov.org/doxygen/class_chusov_1_1_math_1_1_matrix.html Класс матрицы] реализует двумерный [http://en.cppreference.com/w/cpp/concept/AllocatorAwareContainer контейнер] (т.е. контейнер столбцов-контейнеров элементов) с поддержкой [http://en.cppreference.com/w/cpp/concept/RandomAccessIterator итераторов с произвольным доступом] к столбцам и элементам, а также [http://www.chusov.org/doxygen/chsvlib_concepts.html#algebraic_type алгебраическим типом], реализующим [http://www.chusov.org/doxygen/chsvlib_concepts.html#additive_group_concept аддитивную группу]. Также поддерживаются некоторые стандартные операции над матрицами.

Текущая версия на 21:15, 3 декабря 2017

Компоненты на верхнем уровне \ Подсистема управления \ __TSIZE3D

Трехкомпонентный вектор-столбец для описания трехмерного размера в виде разницы двух координат по соответствующим осям 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. Класс матрицы реализует двумерный контейнер (т.е. контейнер столбцов-контейнеров элементов) с поддержкой итераторов с произвольным доступом к столбцам и элементам, а также алгебраическим типом, реализующим аддитивную группу. Также поддерживаются некоторые стандартные операции над матрицами.