20 #ifndef LIBMESH_STORED_RANGE_H 21 #define LIBMESH_STORED_RANGE_H 51 template <
typename iterator_type,
typename object_type>
71 _objs(new
std::vector<object_type>()),
82 const iterator_type & last,
83 const unsigned int new_grainsize = 1000) :
89 _objs(new
std::vector<object_type>()),
92 this->
reset(first, last);
107 const unsigned int new_grainsize = 1000) :
194 middle = beginning + std::distance(beginning, ending)/2u;
201 half = first + (last-first)/2u;
223 const iterator_type & last)
227 for (iterator_type it=first; it!=last; ++it)
228 _objs->push_back(*it);
323 #endif // LIBMESH_STORED_RANGE_H StoredRange(const unsigned int new_grainsize=1000)
std::vector< object_type > * _objs
StoredRange(const StoredRange< iterator_type, object_type > &er)
std::size_t first_idx() const
Utility class for defining generic ranges for threading.
StoredRange(StoredRange< iterator_type, object_type > &r, Threads::split)
bool is_divisible() const
std::size_t grainsize() const
StoredRange(const StoredRange< iterator_type, object_type > &er, const const_iterator &begin_range, const const_iterator &end_range)
StoredRange(std::vector< object_type > *objs, const unsigned int new_grainsize=1000)
StoredRange(const iterator_type &first, const iterator_type &last, const unsigned int new_grainsize=1000)
std::vector< object_type >::const_iterator const_iterator
const_iterator end() const
StoredRange< iterator_type, object_type > & reset(const iterator_type &first, const iterator_type &last)
const_iterator begin() const
void grainsize(const unsigned int &gs)
std::size_t last_idx() const
StoredRange< iterator_type, object_type > & reset()