16#include "libmesh/elem.h"
17#include "libmesh/elem_range.h"
18#include "libmesh/mesh_base.h"
52 mooseAssert(elem,
"Null elem");
63 mooseAssert(
hasIndex(elem),
"Elem not in indexed range");
Helper for setting up a contiguous index for a given range of elements that are known by this process...
libMesh::dof_id_type getIndex(const libMesh::Elem *elem) const
Get the index associated with the element elem.
libMesh::MeshBase & _mesh
libMesh::dof_id_type _max_index
The max index generated.
bool _initialized
Whether or not this object is initialized.
void initialize(const libMesh::SimpleRange< libMesh::MeshBase::element_iterator > elems)
Initializes the indices in a contiguous manner for the given element range.
unsigned int _extra_integer
The extra elem integer that stores the index.
libMesh::dof_id_type maxIndex() const
Gets the maximum index generated using this object.
bool hasIndex(const libMesh::Elem *elem) const
Whether or not the element elem has an index set for it using this object.
dof_id_type get_extra_integer(const unsigned int index) const
static constexpr dof_id_type invalid_id
virtual const Elem * query_elem_ptr(const dof_id_type i) const=0