Initialization of FEEvaluation like FEValues

A new way to initialize an FEEvaluation object (fast tensor product evaluation routines) has been introduced. It takes the same arguments as the initialization method of FEValues, namely a Mapping, a FiniteElement, a one-dimensional Quadrature<1> object, and update flags. This enables using FEEvaluation on the fly just as FEValues. Since FEEvaluation treats objects of one base element only, this class can select which components to read.

The concept is explained in the documentation of the FEEvaluation class (around line 1376 in fe_evaluation.h) and an example for the Laplace matrix is given. However, it also works for the Stokes operator as shown by the test program assemble_matrix_02.
Why do you need a heavy pointer here, rather than just an object? If you want to track an uninitialized state, you can always compare against a default constructed iterator object.