Class template Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
class Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>

Partioning base on remembering iterator ranges

Class Dune::XT::Grid::RangedPartitioning::Partition

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
class Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition

type of partitions

Method Dune::XT::Grid::RangedPartitioning::Partition::begin

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
const Iterator &Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::begin() const

Create a begin iterator

Method Dune::XT::Grid::RangedPartitioning::Partition::end

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
const Iterator &Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::end() const

Create an end iterator

Method Dune::XT::Grid::RangedPartitioning::Partition::size

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
Size Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::size() const

Number of Elements visited by an iterator

Method Dune::XT::Grid::RangedPartitioning::Partition::empty

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
bool Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::empty() const

check whether set is empty (for TBB)

This is equivalent to size()==0.

Method Dune::XT::Grid::RangedPartitioning::Partition::is_divisible

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
bool Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::is_divisible() const

check whether set can be split (for TBB)

Constructor Dune::XT::Grid::RangedPartitioning::Partition::Partition

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::Partition(const RangedPartitioning<GridView, codim, pit> &partitioning, RangedPartitioning<GridView, codim, pit>::Size firstPartition, RangedPartitioning<GridView, codim, pit>::Size lastPartition)

Construct partition from scratch

Constructor Dune::XT::Grid::RangedPartitioning::Partition::Partition

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::Partition(Partition &other, tbb::split)

Splitting Constructor

Construct second half of set, update other to represent first half.

This is done by looking up the entry point in the partitioning that lies roughly in the middle of the current begin() and end().

Field Dune::XT::Grid::RangedPartitioning::Partition::partitioning_

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
const RangedPartitioning<GridView, codim, pit> &Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::partitioning_

No documentation provided.

Field Dune::XT::Grid::RangedPartitioning::Partition::firstPartition_

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
RangedPartitioning<GridView, codim, pit>::Size Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::firstPartition_

No documentation provided.

Field Dune::XT::Grid::RangedPartitioning::Partition::lastPartition_

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
RangedPartitioning<GridView, codim, pit>::Size Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::lastPartition_

No documentation provided.

Type alias Dune::XT::Grid::RangedPartitioning::Partition::Iterator

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
using Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::Iterator = XT::Grid::extract_iterator_t<GridView, codim, pit>

type of iterator

Type alias Dune::XT::Grid::RangedPartitioning::Partition::Entity

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
using Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::Entity = XT::Grid::extract_entity_t<GridView>

type of entity

Type alias Dune::XT::Grid::RangedPartitioning::Partition::Size

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
using Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Partition::Size = typename std::iterator_traits<Iterator>::difference_type

type used to count entites

Method Dune::XT::Grid::RangedPartitioning::partitions

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
Size Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::partitions() const

return maximum number of partitions

Method Dune::XT::Grid::RangedPartitioning::everything

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
Partition Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::everything() const

whole partitioning as a partition object

The partition can be split by tbb

Method Dune::XT::Grid::RangedPartitioning::partition

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
Partition Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::partition(Size pId) const

return a particular partition

Method Dune::XT::Grid::RangedPartitioning::partitions

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
Partition Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::partitions(Size first, Size last) const

return a range of partitions

The returned partition object can be split by tbb

Constructor Dune::XT::Grid::RangedPartitioning::RangedPartitioning

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::RangedPartitioning(const GridView &gv, Size partitions)

construct

Field Dune::XT::Grid::RangedPartitioning::entry_points_

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
std::vector<Iterator> Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::entry_points_

No documentation provided.

Field Dune::XT::Grid::RangedPartitioning::stride_

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
Size Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::stride_

No documentation provided.

Field Dune::XT::Grid::RangedPartitioning::overflow_

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
Size Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::overflow_

No documentation provided.

Type alias Dune::XT::Grid::RangedPartitioning::Iterator

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
using Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Iterator = XT::Grid::extract_iterator_t<GridView, codim, pit>

No documentation provided.

Type alias Dune::XT::Grid::RangedPartitioning::Size

template<class GridView, int codim, PartitionIteratorType pit = All_Partition>
using Dune::XT::Grid::RangedPartitioning<GridView, codim, pit>::Size = typename std::iterator_traits<typename std::vector<Iterator>::iterator>::difference_type

type used to count partitions