| 
| template<typename U , typename  = std::enable_if_t<std::is_same<                graph::AdjacencyList<std::int32_t>, std::decay_t<U>>::value>>  | 
|   | DofMap (std::shared_ptr< const ElementDofLayout > element, std::shared_ptr< const common::IndexMap > index_map, int index_map_bs, U &&dofmap, int bs) | 
|   | Create a DofMap from the layout of dofs on a reference element, an IndexMap defining the distribution of dofs across processes and a vector of indices.  More...
  | 
|   | 
| 
  | DofMap (const DofMap &dofmap)=delete | 
|   | 
| 
  | DofMap (DofMap &&dofmap)=default | 
|   | Move constructor. 
  | 
|   | 
| 
virtual  | ~DofMap ()=default | 
|   | Destructor. 
  | 
|   | 
| 
DofMap &  | operator= (const DofMap &dofmap)=delete | 
|   | 
| 
DofMap &  | operator= (DofMap &&dofmap)=default | 
|   | Move assignment. 
  | 
|   | 
| xtl::span< const std::int32_t >  | cell_dofs (int cell) const | 
|   | Local-to-global mapping of dofs on a cell.  More...
  | 
|   | 
| 
int  | bs () const noexcept | 
|   | Return the block size for the dofmap. 
  | 
|   | 
| DofMap  | extract_sub_dofmap (const std::vector< int > &component) const | 
|   | Extract subdofmap component.  More...
  | 
|   | 
| std::pair< std::unique_ptr< DofMap >, std::vector< std::int32_t > >  | collapse (MPI_Comm comm, const mesh::Topology &topology) const | 
|   | Create a "collapsed" dofmap (collapses a sub-dofmap)  More...
  | 
|   | 
| const graph::AdjacencyList< std::int32_t > &  | list () const | 
|   | Get dofmap data.  More...
  | 
|   | 
| 
int  | index_map_bs () const | 
|   | Block size associated with the index_map. 
  | 
|   | 
Degree-of-freedom map. 
This class handles the mapping of degrees of freedom. It builds a dof map based on an ElementDofLayout on a specific mesh topology. It will reorder the dofs when running in parallel. Sub-dofmaps, both views and copies, are supported.