QVM: Quaternions, Vectors, Matrices
deduce_quat
#include <boost/qvm/deduce_quat.hpp>[ORIG_END] -->
namespace boost
{
namespace qvm
{
template <class Q>
struct deduce_quat
{
typedef Q type;
};
}
}
Assumption:
есть::значение
истинно.
Requirements:
- is_quat<Deduce_quat
::type>::value
должно бытьистинно
- deduce_quat
::type
должен быть копируемым
Этот шаблон используется Boost QVM всякий раз, когда ему нужно вывести копируемый тип кватерниона из одного параметра функции типа кватерниона, предоставленного пользователем. Обратите внимание, чтоQсам по себе может быть некопируемым.
Основное определение шаблона возвращаетQ, что означает, что он подходит только для копируемых типов кватернионов. Boost QVM также определяет (частичные) специализации для некопируемых типов кватернионов. Пользователи могут определять другие (частичные) специализации для своих типов.
Типичное использование шаблонаdeduce_quatпредназначено для указания предпочтительного типа кватерниона, возвращаемого общими перегрузками шаблона функций в Boost QVM в зависимости от типа их аргументов.