20 #ifndef LIBMESH_INT_RANGE_H 21 #define LIBMESH_INT_RANGE_H 23 #include "libmesh/libmesh_common.h" 32 template <
typename T>
class DenseSubVector;
33 template <
typename T>
class DenseVector;
34 template <
typename T>
class NumericVector;
81 template <
typename T2>
87 template <
typename T2>
97 return (
_i == j.
_i );
102 return !(*
this == j);
111 template <
typename U,
typename V>
140 template <
typename T,
typename T2>
152 template <
typename T>
155 return IntRange<decltype(sizable.size())>(0, sizable.size());
162 template <
typename T>
175 template <
typename T>
196 template <
typename T>
204 #endif // LIBMESH_INT_RANGE_H
bool operator==(const iterator &j) const
The IntRange templated class is intended to make it easy to loop over integers which are indices of a...
std::size_t grainsize() const
Provides a uniform interface to vector storage schemes for different linear algebra libraries...
The libMesh namespace provides an interface to certain functionality in the library.
Tnew cast_int(Told oldvar)
iterator operator+(T2 n) const
std::input_iterator_tag iterator_category
bool operator!=(const iterator &j) const
const iterator & operator++()
unsigned int default_grainsize()
IntRange(const IntRange &, const const_iterator &begin, const const_iterator &end)
virtual numeric_index_type first_local_index() const =0
IntRange< T >::iterator const_iterator
Order operator+(Order o, T p)
IntRange< T > make_range(T beg, T end)
The 2-parameter make_range() helper function returns an IntRange<T> when both input parameters are of...
virtual numeric_index_type last_local_index() const =0
auto index_range(const T &sizable)
Helper function that returns an IntRange<std::size_t> representing all the indices of the passed-in v...