QVM: Quaternions, Vectors, Matrices
deduce_vec
Assumption:
—::значение—истинно.
Requirements:
- is_vec<Deduce_vec::type>::valueдолжно бытьистинно
- deduce_vec::typeдолжен быть копируемым
- vec_traits<deduce_vec::type>::dim== Дим
Этот шаблон используется Boost QVM всякий раз, когда ему нужно вывести копируемый векторный тип определенного измерения из одного функционального параметра векторного типа, предоставленного пользователем. Вернутый тип должен иметь доступный конструктор копий. Обратите внимание, чтоVможет быть некопируемым.
Основное определение шаблона возвращает неуточненный тип копируемого вектора размера., если толькоvec_traits::dim== Дим, в этом случае он возвращаетV, который подходит только в том случае, еслиVявляется копируемым типом. Boost QVM также определяет (частичные) специализации для типов векторов, которые он производит. Пользователи могут определять другие (частичные) специализации для своих типов.
Типичное использование шаблонаdeduce_vecдля указания предпочтительного векторного типа, который должен быть возвращен общими перегрузками шаблона функций в Boost QVM в зависимости от типа их аргументов.