Just a note as I was perusing the code. Could the comment below regarding the markers() member function be updated?
Thanks,
Dave
/// Return boundary markers
///
/// *Returns*
/// std::vector<std::pair<std::size_t, std::size_t> >
/// Boundary markers (facets stored as pairs of cells and
/// local facet numbers).
const std::vector<std::size_t>& markers() const;