*/
boost::container::small_vector<
TriaIterator<TriaAccessor<dim - 1, dim, spacedim>>,
- ReferenceCell::max_n_faces<dim>()>
+#ifndef _MSC_VER // MSVC prior to 2022 cannot use a constexpr function this way
+ ReferenceCell::max_n_faces<dim>()
+#else
+ GeometryInfo<dim>::faces_per_cell
+#endif
+ >
face_iterators() const;
/**
template <int dim, int spacedim>
inline boost::container::small_vector<
TriaIterator<TriaAccessor<dim - 1, dim, spacedim>>,
- ReferenceCell::max_n_faces<dim>()>
+# ifndef _MSC_VER
+ ReferenceCell::max_n_faces<dim>()
+# else
+ GeometryInfo<dim>::faces_per_cell
+# endif
+ >
CellAccessor<dim, spacedim>::face_iterators() const
{
boost::container::small_vector<
TriaIterator<TriaAccessor<dim - 1, dim, spacedim>>,
- ReferenceCell::max_n_faces<dim>()>
+# ifndef _MSC_VER
+ ReferenceCell::max_n_faces<dim>()
+# else
+ GeometryInfo<dim>::faces_per_cell
+# endif
+ >
face_iterators(this->n_faces());
for (const unsigned int i : this->face_indices())