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.
Yes, n_items is platform-specific. To better explain this code: The loop over v that sets the '1' entries belongs together with the outer loop over i. Those two together go through the columns of the matrix whose entries you are about to compute.
The point here is that FEEvaluation provides a means to 'evalutate' an operator. To find the matrix representation of that operator, you apply it to all of the unit vectors. Due to vectorization, it is possible to apply the operator to several unit vectors at once, which is the 'n_items' we currently look at.