template<typename T, int n, typename PlainObject = typename plain_object_eval<T>::type>
struct Eigen::internal::nested_eval< T, n, PlainObject >
Determines how a given expression should be nested when evaluated multiple times. For example, when you do a * (b+c), Eigen will determine how the expression b+c should be evaluated into the bigger product expression. The choice is between nesting the expression b+c as-is, or evaluating that expression b+c into a temporary variable d, and nest d so that the resulting expression is a*d. Evaluating can be beneficial for example if every coefficient access in the resulting expression causes many coefficient accesses in the nested expressions – as is the case with matrix product for example.
- Template Parameters
-
T | the type of the expression being nested. |
n | the number of coefficient accesses in the nested expression for each coefficient access in the bigger expression. |
PlainObject | the type of the temporary if needed. |