dune-pdelab  2.7-git
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | List of all members
Dune::PDELab::PermutedOrdering< Ordering > Class Template Referenceabstract

Ordering that permutes top-level ContainerIndex entries. More...

#include <dune/pdelab/ordering/permutedordering.hh>

Inheritance diagram for Dune::PDELab::PermutedOrdering< Ordering >:
Inheritance graph

Public Types

typedef Ordering::Traits Traits
 
typedef HierarchicContainerAllocationTag ContainerAllocationTag
 
typedef DefaultLFSCacheTag CacheTag
 

Public Member Functions

Ordering & ordering ()
 
const Ordering & ordering () const
 
 PermutedOrdering (const typename NodeT::NodeStorage &ordering, const ordering::permuted::tag_base &tag)
 
 PermutedOrdering (const PermutedOrdering &r)
 
 PermutedOrdering (PermutedOrdering &&r)
 
virtual ~PermutedOrdering () override=default
 
virtual void map_index_dynamic (typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const override
 
template<typename ItIn , typename ItOut >
void map_lfs_indices (ItIn in, const ItIn end, ItOut out) const
 
template<typename CIOutIterator >
Traits::SizeType extract_entity_indices (const typename Traits::DOFIndex::EntityIndex &ei, typename Traits::SizeType child_index, CIOutIterator ci_out, const CIOutIterator ci_end) const
 
void update ()
 
virtual void map_index_dynamic (typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const=0
 
Traits::ContainerIndex mapIndex (const typename Traits::DOFIndex &di) const
 
void mapIndex (typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const
 
Traits::SizeType size () const
 
Traits::SizeType size (const typename Traits::SizeType child_index) const
 
Traits::SizeType blockCount () const
 
Traits::SizeType sizeOffset (const typename Traits::SizeType child_index) const
 
Traits::SizeType blockOffset (const typename Traits::SizeType child_index) const
 
Traits::SizeType maxLocalSize () const
 
MergeMode::type mergeMode () const
 
bool containerBlocked () const
 
std::size_t childOrderingCount () const
 
OrderingBasechildOrdering (typename Traits::SizeType i)
 
const OrderingBasechildOrdering (typename Traits::SizeType i) const
 
bool contains (typename Traits::SizeType codim) const
 
bool fixedSize () const
 
bool fixedSize (typename Traits::SizeType codim) const
 

Public Attributes

bool _fixed_size
 
const bool _container_blocked
 
const MergeMode::type _merge_mode
 
const std::size_t _child_count
 
std::vector< OrderingBase * > _children
 
std::vector< typename Traits::SizeType > _child_size_offsets
 
std::vector< typename Traits::SizeType > _child_block_offsets
 
std::vector< typename Traits::SizeType > _child_block_merge_offsets
 
Traits::CodimFlag _codim_used
 
Traits::CodimFlag _codim_fixed_size
 
std::size_t _max_local_size
 
std::size_t _size
 
std::size_t _block_count
 
const VirtualOrderingBase< Ordering::Traits::DOFIndex, Ordering::Traits::ContainerIndex > * _delegate
 
GFSData_gfs_data
 

Static Public Attributes

static const bool has_dynamic_ordering_children = true
 
static const bool consume_tree_index = false
 

Protected Types

typedef Dune::PDELab::impl::GridFunctionSpaceOrderingData< typename Traits::SizeType > GFSData
 

Protected Member Functions

void setDelegate (const VirtualOrderingBase< Ordering::Traits::DOFIndex, Ordering::Traits::ContainerIndex > *delegate)
 Set the delegate called in mapIndex(). More...
 
void _mapIndex (typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const
 

Detailed Description

template<typename Ordering>
class Dune::PDELab::PermutedOrdering< Ordering >

Ordering that permutes top-level ContainerIndex entries.

Member Typedef Documentation

◆ CacheTag

typedef DefaultLFSCacheTag Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::CacheTag
inherited

◆ ContainerAllocationTag

typedef HierarchicContainerAllocationTag Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::ContainerAllocationTag
inherited

◆ GFSData

typedef Dune::PDELab::impl::GridFunctionSpaceOrderingData<typename Traits::SizeType> Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::GFSData
protectedinherited

◆ Traits

template<typename Ordering >
typedef Ordering::Traits Dune::PDELab::PermutedOrdering< Ordering >::Traits

Constructor & Destructor Documentation

◆ PermutedOrdering() [1/3]

template<typename Ordering >
Dune::PDELab::PermutedOrdering< Ordering >::PermutedOrdering ( const typename NodeT::NodeStorage &  ordering,
const ordering::permuted::tag_base &  tag 
)
inline

◆ PermutedOrdering() [2/3]

template<typename Ordering >
Dune::PDELab::PermutedOrdering< Ordering >::PermutedOrdering ( const PermutedOrdering< Ordering > &  r)
inline

◆ PermutedOrdering() [3/3]

template<typename Ordering >
Dune::PDELab::PermutedOrdering< Ordering >::PermutedOrdering ( PermutedOrdering< Ordering > &&  r)
inline

◆ ~PermutedOrdering()

template<typename Ordering >
virtual Dune::PDELab::PermutedOrdering< Ordering >::~PermutedOrdering ( )
overridevirtualdefault

Member Function Documentation

◆ _mapIndex()

void Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_mapIndex ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex ci 
) const
inlineprotectedinherited

◆ blockCount()

Traits::SizeType Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::blockCount ( ) const
inlineinherited

◆ blockOffset()

Traits::SizeType Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::blockOffset ( const typename Traits::SizeType  child_index) const
inlineinherited

◆ childOrdering() [1/2]

OrderingBase& Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::childOrdering ( typename Traits::SizeType  i)
inlineinherited

◆ childOrdering() [2/2]

const OrderingBase& Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::childOrdering ( typename Traits::SizeType  i) const
inlineinherited

◆ childOrderingCount()

std::size_t Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::childOrderingCount ( ) const
inlineinherited

◆ containerBlocked()

bool Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::containerBlocked ( ) const
inlineinherited

◆ contains()

bool Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::contains ( typename Traits::SizeType  codim) const
inlineinherited

◆ extract_entity_indices()

template<typename Ordering >
template<typename CIOutIterator >
Traits::SizeType Dune::PDELab::PermutedOrdering< Ordering >::extract_entity_indices ( const typename Traits::DOFIndex::EntityIndex &  ei,
typename Traits::SizeType  child_index,
CIOutIterator  ci_out,
const CIOutIterator  ci_end 
) const
inline

◆ fixedSize() [1/2]

bool Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::fixedSize ( ) const
inlineinherited

◆ fixedSize() [2/2]

bool Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::fixedSize ( typename Traits::SizeType  codim) const
inlineinherited

◆ map_index_dynamic() [1/2]

template<typename Ordering >
virtual void Dune::PDELab::PermutedOrdering< Ordering >::map_index_dynamic ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex &  ci 
) const
inlineoverridevirtual

◆ map_index_dynamic() [2/2]

virtual void Dune::PDELab::VirtualOrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::map_index_dynamic ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex ci 
) const
pure virtualinherited

◆ map_lfs_indices()

template<typename Ordering >
template<typename ItIn , typename ItOut >
void Dune::PDELab::PermutedOrdering< Ordering >::map_lfs_indices ( ItIn  in,
const ItIn  end,
ItOut  out 
) const
inline

◆ mapIndex() [1/2]

Traits::ContainerIndex Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::mapIndex ( const typename Traits::DOFIndex di) const
inlineinherited

◆ mapIndex() [2/2]

void Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::mapIndex ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex ci 
) const
inlineinherited

◆ maxLocalSize()

Traits::SizeType Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::maxLocalSize ( ) const
inlineinherited

◆ mergeMode()

MergeMode::type Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::mergeMode ( ) const
inlineinherited

◆ ordering() [1/2]

template<typename Ordering >
Ordering& Dune::PDELab::PermutedOrdering< Ordering >::ordering ( )
inline

◆ ordering() [2/2]

template<typename Ordering >
const Ordering& Dune::PDELab::PermutedOrdering< Ordering >::ordering ( ) const
inline

◆ setDelegate()

void Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::setDelegate ( const VirtualOrderingBase< DI, CI > *  delegate)
inlineprotectedinherited

Set the delegate called in mapIndex().

When copying an Ordering with a delegate, the derived Ordering must call this method with 'this' as its argument in the copy and the move constructors!

◆ size() [1/2]

Traits::SizeType Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::size ( ) const
inlineinherited

◆ size() [2/2]

Traits::SizeType Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::size ( const typename Traits::SizeType  child_index) const
inlineinherited

◆ sizeOffset()

Traits::SizeType Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::sizeOffset ( const typename Traits::SizeType  child_index) const
inlineinherited

◆ update()

template<typename Ordering >
void Dune::PDELab::PermutedOrdering< Ordering >::update ( )
inline

Member Data Documentation

◆ _block_count

std::size_t Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_block_count
inherited

◆ _child_block_merge_offsets

std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_child_block_merge_offsets
inherited

◆ _child_block_offsets

std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_child_block_offsets
inherited

◆ _child_count

const std::size_t Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_child_count
inherited

◆ _child_size_offsets

std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_child_size_offsets
inherited

◆ _children

std::vector<OrderingBase*> Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_children
inherited

◆ _codim_fixed_size

Traits::CodimFlag Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_codim_fixed_size
inherited

◆ _codim_used

Traits::CodimFlag Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_codim_used
inherited

◆ _container_blocked

const bool Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_container_blocked
inherited

◆ _delegate

const VirtualOrderingBase<Ordering::Traits::DOFIndex ,Ordering::Traits::ContainerIndex >* Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_delegate
inherited

◆ _fixed_size

bool Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_fixed_size
inherited

◆ _gfs_data

GFSData* Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_gfs_data
inherited

◆ _max_local_size

std::size_t Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_max_local_size
inherited

◆ _merge_mode

const MergeMode::type Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_merge_mode
inherited

◆ _size

std::size_t Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex , Ordering::Traits::ContainerIndex >::_size
inherited

◆ consume_tree_index

template<typename Ordering >
const bool Dune::PDELab::PermutedOrdering< Ordering >::consume_tree_index = false
static

◆ has_dynamic_ordering_children

template<typename Ordering >
const bool Dune::PDELab::PermutedOrdering< Ordering >::has_dynamic_ordering_children = true
static

The documentation for this class was generated from the following file: