1 #include <stk_mesh/base/Iterators.hpp> 6 BucketVectorEntityIteratorRange get_entity_range(
const std::vector<Bucket*>& buckets)
8 if ( buckets.empty() ) {
9 BucketVectorEntityIterator end_itr(buckets.end());
10 return std::make_pair(end_itr, end_itr);
13 return std::make_pair(BucketVectorEntityIterator(buckets.begin(), BucketPtrIterator((*buckets.begin())->begin()), buckets.end()),
14 BucketVectorEntityIterator(buckets.end()));
18 SelectedBucketVectorEntityIteratorRange get_entity_range(
const std::vector<Bucket*>& buckets,
const Selector& selector)
20 if ( buckets.empty() ) {
21 SelectedBucketVectorIterator end_select_itr(buckets.end());
23 SelectedBucketVectorEntityIterator end_itr(end_select_itr);
24 return std::make_pair(end_itr, end_itr);
28 SelectedBucketVectorIterator end_select_itr(buckets.end());
29 return std::make_pair(SelectedBucketVectorEntityIterator(SelectedBucketVectorIterator(selector, buckets.begin(), buckets.end()),
30 BucketPtrIterator((*buckets.begin())->begin()),
32 SelectedBucketVectorEntityIterator(end_select_itr));
36 AllBucketsRange get_bucket_range(
const std::vector<std::vector<Bucket*> >& buckets)
38 if (buckets.empty()) {
39 AllBucketsIterator end_itr(buckets.end());
40 return std::make_pair(end_itr, end_itr);
43 return std::make_pair(AllBucketsIterator(buckets.begin(), buckets.begin()->begin(), buckets.end()),
44 AllBucketsIterator(buckets.end()));
48 AllBucketsRange get_bucket_range(
const std::vector<std::vector<Bucket*> >& buckets,
49 std::vector<std::vector<Bucket*> >::const_iterator itr)
51 AllBucketsIterator end_itr(itr+1);
52 return std::make_pair(AllBucketsIterator(itr, itr->begin(), itr+1),
56 AllSelectedBucketsRange get_selected_bucket_range(
const AllBucketsRange& bucket_range,
const Selector& selector)
58 return std::make_pair(AllSelectedBucketsIterator(selector, bucket_range.first, bucket_range.second),
59 AllSelectedBucketsIterator(selector, bucket_range.second, bucket_range.second));
62 SelectedBucketVectorIteratorRange get_selected_bucket_range(
const std::vector<Bucket*>& buckets,
const Selector& selector)
64 return std::make_pair(SelectedBucketVectorIterator(selector, buckets.begin(), buckets.end()),
65 SelectedBucketVectorIterator(buckets.end()));
71 SelectedBucketRangeEntityIteratorRange get_selected_bucket_entity_range(
const AllBucketsRange& bucket_range,
const Selector& selector)
74 if (bucket_range.first == bucket_range.second) {
75 AllSelectedBucketsIterator end_select_itr(bucket_range.second);
77 SelectedBucketRangeEntityIterator end_itr(end_select_itr);
78 return std::make_pair(end_itr, end_itr);
81 AllSelectedBucketsRange selected_bucket_range = get_selected_bucket_range(bucket_range, selector);
82 return std::make_pair(SelectedBucketRangeEntityIterator(selected_bucket_range.first,
83 BucketPtrIterator( (*selected_bucket_range.first)->begin()),
84 selected_bucket_range.second),
85 SelectedBucketRangeEntityIterator(selected_bucket_range.second));