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>
132 Assert((start + length <= v.size()),
136 DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcIndexRange(int arg1, int arg2, int arg3)
const VectorSlice< const VectorType > make_slice(VectorType &v)
#define Assert(cond, exc)
ArrayView< typename std::remove_reference< typename std::iterator_traits< Iterator >::reference >::type, MemorySpaceType > make_array_view(const Iterator begin, const Iterator end)
VectorSlice(VectorType &v)
const VectorSlice< const VectorType > make_slice(VectorType &v, const unsigned int start, const unsigned int length)