I am learning a header file about Eigen library. In a definition of class like below:
class Utility
{
public:
template <typename Derived>
static Eigen::Quaternion<typename Derived::Scalar> deltaQ(const Eigen::MatrixBase<Derived> &theta)
{
typedef typename Derived::Scalar Scalar_t;
Eigen::Quaternion<Scalar_t> dq;
...
I know that "Derived" is a Template Data Type, and the parameter of function "deltaQ" uses it:
<Derived>
But what is the meaning of the function return type:
<typename Derived::Scalar>
mean? I can not find out the usage like this, and is it some special C++ technology? Thank you very much!