|
Chemical Data Processing Library C++ API - Version 1.1.1
|
Go to the documentation of this file.
27 #ifndef CDPL_MATH_QUATERNIONADAPTER_HPP
28 #define CDPL_MATH_QUATERNIONADAPTER_HPP
31 #include <type_traits>
58 typedef typename std::conditional<std::is_const<Q>::value,
59 typename Q::ConstReference,
61 typedef typename std::conditional<std::is_const<Q>::value,
62 typename Q::ConstClosureType,
148 template <
typename E>
155 template <
typename E>
162 template <
typename E>
169 template <
typename T>
172 vectorAssignScalar<ScalarMultiplicationAssignment>(*
this, t);
176 template <
typename T>
179 vectorAssignScalar<ScalarDivisionAssignment>(*
this, t);
183 template <
typename E>
186 vectorAssignVector<ScalarAssignment>(*
this, e);
190 template <
typename E>
193 vectorAssignVector<ScalarAdditionAssignment>(*
this, e);
197 template <
typename E>
200 vectorAssignVector<ScalarSubtractionAssignment>(*
this, e);
219 template <
typename T, std::
size_t N>
221 template <
typename Q>
228 template <
typename Q>
235 template <
typename E>
242 template <
typename E>
243 QuaternionVectorAdapter<const E>
251 #endif // CDPL_MATH_QUATERNIONADAPTER_HPP
const unsigned int Q
A generic type that covers any element except hydrogen and carbon.
Definition: AtomType.hpp:627
Definition: TypeTraits.hpp:179
void vectorSwap(V &v, VectorExpression< E > &e)
Definition: VectorAssignment.hpp:72
Implementation of vector assignment routines.
SizeType getSize() const
Definition: QuaternionAdapter.hpp:122
const SelfType ConstClosureType
Definition: QuaternionAdapter.hpp:64
QuaternionClosureType & getData()
Definition: QuaternionAdapter.hpp:132
Definition: Expression.hpp:54
std::enable_if< IsScalar< T >::value, QuaternionVectorAdapter >::type & operator/=(const T &t)
Definition: QuaternionAdapter.hpp:177
ConstReference operator()(SizeType i) const
Definition: QuaternionAdapter.hpp:91
std::conditional< std::is_const< Q >::value, typename Q::ConstClosureType, typename Q::ClosureType >::type QuaternionClosureType
Definition: QuaternionAdapter.hpp:63
friend void swap(QuaternionVectorAdapter &a1, QuaternionVectorAdapter &a2)
Definition: QuaternionAdapter.hpp:210
Q::ConstReference ConstReference
Definition: QuaternionAdapter.hpp:57
std::enable_if< IsScalar< T >::value, QuaternionVectorAdapter >::type & operator*=(const T &t)
Definition: QuaternionAdapter.hpp:170
QuaternionVectorAdapter & assign(const VectorExpression< E > &e)
Definition: QuaternionAdapter.hpp:184
Reference operator[](SizeType i)
Definition: QuaternionAdapter.hpp:112
const ExpressionType & operator()() const
Definition: Expression.hpp:59
QuaternionVectorAdapter & operator-=(const VectorExpression< E > &e)
Definition: QuaternionAdapter.hpp:163
Definition: Expression.hpp:98
SelfType ClosureType
Definition: QuaternionAdapter.hpp:65
std::size_t SizeType
Definition: QuaternionAdapter.hpp:54
Thrown to indicate that an index is out of range.
Definition: Base/Exceptions.hpp:152
Definition: QuaternionAdapter.hpp:48
const QuaternionClosureType & getData() const
Definition: QuaternionAdapter.hpp:137
QuaternionVectorAdapter(QuaternionType &q)
Definition: QuaternionAdapter.hpp:67
bool isEmpty() const
Definition: QuaternionAdapter.hpp:127
Reference operator()(SizeType i)
Definition: QuaternionAdapter.hpp:70
Definition of type traits.
Definition: Vector.hpp:1053
QuaternionVectorAdapter< E > vec(QuaternionExpression< E > &e)
Definition: QuaternionAdapter.hpp:237
Definition of various functors.
Q QuaternionType
Definition: QuaternionAdapter.hpp:53
std::ptrdiff_t DifferenceType
Definition: QuaternionAdapter.hpp:55
CVector< typename Q::ValueType, 4 > Type
Definition: QuaternionAdapter.hpp:225
const unsigned int T
Specifies Hydrogen (Tritium).
Definition: AtomType.hpp:67
Definition of exception classes.
QuaternionVectorAdapter & minusAssign(const VectorExpression< E > &e)
Definition: QuaternionAdapter.hpp:198
CVector< typename Q::ValueType, 4 > Type
Definition: QuaternionAdapter.hpp:232
The namespace of the Chemical Data Processing Library.
QuaternionVectorAdapter & operator=(const QuaternionVectorAdapter &a)
Definition: QuaternionAdapter.hpp:142
QuaternionVectorAdapter & operator+=(const VectorExpression< E > &e)
Definition: QuaternionAdapter.hpp:156
Q::ValueType ValueType
Definition: QuaternionAdapter.hpp:56
QuaternionVectorAdapter & plusAssign(const VectorExpression< E > &e)
Definition: QuaternionAdapter.hpp:191
void swap(QuaternionVectorAdapter &a)
Definition: QuaternionAdapter.hpp:204
std::conditional< std::is_const< Q >::value, typename Q::ConstReference, typename Q::Reference >::type Reference
Definition: QuaternionAdapter.hpp:60
Definition of basic expression types.
V::VectorTemporaryType Type
Definition: TypeTraits.hpp:181
QuaternionVectorAdapter & operator=(const VectorExpression< E > &e)
Definition: QuaternionAdapter.hpp:149
ConstReference operator[](SizeType i) const
Definition: QuaternionAdapter.hpp:117