namespace internal
{
- template <typename T, std::size_t N>
+ template <typename T>
class NoPermutation : public dealii::ExceptionBase
{
public:
* Constructor.
*/
NoPermutation(const dealii::ReferenceCell &entity_type,
- const std::array<T, N> & vertices_0,
- const std::array<T, N> & vertices_1)
+ const ArrayView<const T> & vertices_0,
+ const ArrayView<const T> & vertices_1)
: entity_type(entity_type)
, vertices_0(vertices_0)
, vertices_1(vertices_1)
- {}
+ {
+ Assert(vertices_0.size() >= entity_type.n_vertices(), ExcInternalError());
+ Assert(vertices_1.size() >= entity_type.n_vertices(), ExcInternalError());
+ }
/**
* Destructor.
out << ',';
}
- out << "] is not a permutation of [";
+ out << "] is not a valid permutation of [";
for (unsigned int i = 0; i < n_vertices; ++i)
{
/**
* First set of values.
*/
- const std::array<T, N> vertices_0;
+ const ArrayView<const T> vertices_0;
/**
* Second set of values.
*/
- const std::array<T, N> vertices_1;
+ const ArrayView<const T> vertices_1;
};
} // namespace internal
return 6;
}
- Assert(false, (internal::NoPermutation<T, N>(*this, vertices_0, vertices_1)));
+ Assert(false, (internal::NoPermutation<T>(*this, vertices_0, vertices_1)));
return -1;
}