16 #ifndef dealii_vector_slice_h
17 #define dealii_vector_slice_h
19 #include <deal.II/base/config.h>
21 #include <deal.II/base/array_view.h>
22 #include <deal.II/base/exceptions.h>
24 DEAL_II_NAMESPACE_OPEN
50 template <
typename VectorType>
53 typename std::conditional<std::is_const<VectorType>::value,
54 const typename VectorType::value_type,
55 typename VectorType::value_type>::type>
69 VectorSlice(VectorType &v,
unsigned int start,
unsigned int length);
77 const typename VectorType::value_type,
78 typename VectorType::value_type>::type>;
89 template <
typename VectorType>
106 template <
typename VectorType>
108 make_slice(VectorType &v,
const unsigned int start,
const unsigned int length)
118 template <
typename VectorType>
125 template <
typename VectorType>
130 make_array_view(std::begin(v) + start, std::begin(v) + start + length))
132 Assert((start + length <= v.size()),
136 DEAL_II_NAMESPACE_CLOSE