  The dune-functions Dune module provides interfaces for functions and function
space bases. It forms one abstraction level above grids, shape functions, and
linear algebra, and provides infrastructure for full discretization frameworks
like dune-pdelab and dune-fem. This document describes the function space bases
provided by dune-functions. These are based on an abstract description of bases
for product spaces as trees of simpler bases. From this description, many
different numberings of degrees of freedom by multi-indices can be derived in a
natural way. We describe the abstract concepts, document the programmer
interface, and give a complete example program that solves the stationary
Stokes equation using Taylor-Hood elements.
