16 #ifndef dealii_vector_slice_h 17 #define dealii_vector_slice_h 19 #include <deal.II/base/config.h> 20 #include <deal.II/base/exceptions.h> 21 #include <deal.II/base/array_view.h> 23 DEAL_II_NAMESPACE_OPEN
48 template <
typename VectorType>
83 unsigned int size()
const;
89 typename VectorType::reference
operator[] (
unsigned int i);
95 typename VectorType::const_reference
operator[] (
unsigned int i)
const;
100 typename VectorType::iterator
begin();
105 typename VectorType::const_iterator
begin()
const;
110 typename VectorType::iterator
end();
115 typename VectorType::const_iterator
end()
const;
140 template <
typename VectorType>
158 template <
typename VectorType>
162 const unsigned int start,
163 const unsigned int length)
174 template <
typename VectorType>
178 v(v), start(0), length(v.size())
182 template <
typename VectorType>
188 v(v), start(start), length(length)
195 template <
typename VectorType>
204 template <
typename VectorType>
212 template <
typename VectorType>
220 template <
typename VectorType>
222 typename VectorType::reference
231 template <
typename VectorType>
233 typename VectorType::const_reference
242 template <
typename VectorType>
244 typename VectorType::const_iterator
247 return v.begin()+start;
251 template <
typename VectorType>
253 typename VectorType::iterator
256 return v.begin()+start;
260 template <
typename VectorType>
262 typename VectorType::const_iterator
265 return v.begin()+start+length;
269 template <
typename VectorType>
271 typename VectorType::iterator
274 return v.begin()+start+length;
277 DEAL_II_NAMESPACE_CLOSE
VectorType::iterator begin()
static ::ExceptionBase & ExcIndexRange(int arg1, int arg2, int arg3)
const VectorSlice< const VectorType > make_slice(VectorType &v)
unsigned int size() const
#define Assert(cond, exc)
VectorType::reference operator[](unsigned int i)
VectorType::iterator end()
const unsigned int length
VectorSlice(VectorType &v)
const VectorSlice< const VectorType > make_slice(VectorType &v, const unsigned int start, const unsigned int length)