double cell_measure (const std::vector<Point<spacedim> > &all_vertices,
const unsigned int (&vertex_indices)[GeometryInfo<dim>::vertices_per_cell]);
+
+ /**
+ * Same as the last function, but for the codimension zero case. This extra
+ * function allows one to write
+ *
+ * @code
+ * cell_measure(vertices, indices);
+ * @endcode
+ *
+ * and have the template function argument (i.e. <code>dim</code>) inferred
+ * automatically.
+ */
+ template <int dim>
+ double cell_measure (const std::vector<Point<dim> > &all_vertices,
+ const unsigned int (&vertex_indices)[GeometryInfo<dim>::vertices_per_cell]);
+
/*@}*/
/**
* @name Functions supporting the creation of meshes
namespace GridTools
{
+ // This function just wraps the general case: see the note in its
+ // documentation above.
+ template <int dim>
+ double cell_measure (const std::vector<Point<dim> > &all_vertices,
+ const unsigned int (&vertex_indices)[GeometryInfo<dim>::vertices_per_cell])
+ {
+ return cell_measure<dim, dim>(all_vertices, vertex_indices);
+ }
+
+
template <int dim, typename Predicate, int spacedim>
void transform (const Predicate &predicate,