dune-pdelab  2.4.1
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | List of all members
Dune::PDELab::lexicographic_ordering::Base< DI, CI, Node > Class Template Reference

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

Inheritance diagram for Dune::PDELab::lexicographic_ordering::Base< DI, CI, Node >:
Inheritance graph

Public Types

typedef OrderingBase< DI, CI >::Traits Traits
 
typedef LexicographicOrderingTag OrderingTag
 
typedef HierarchicContainerAllocationTag ContainerAllocationTag
 
typedef DefaultLFSCacheTag CacheTag
 

Public Member Functions

 Base (Node &node, bool container_blocked, typename BaseT::GFSData *gfs_data)
 Construct ordering object. More...
 
template<typename ItIn , typename ItOut >
void map_lfs_indices (const ItIn begin, const ItIn end, ItOut out) const
 
template<typename CIOutIterator , typename DIOutIterator = DummyDOFIndexIterator>
Traits::SizeType extract_entity_indices (const typename Traits::DOFIndex::EntityIndex &ei, typename Traits::SizeType child_index, CIOutIterator ci_out, const CIOutIterator ci_end) const
 
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
 
void update ()
 
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 (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< DI, CI > * _delegate
 
GFSData_gfs_data
 

Static Public Attributes

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

Protected Types

typedef Dune::PDELab::impl::GridFunctionSpaceOrderingData< typename Traits::SizeTypeGFSData
 

Protected Member Functions

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

Member Typedef Documentation

template<typename DI, typename CI>
typedef DefaultLFSCacheTag Dune::PDELab::OrderingBase< DI, CI >::CacheTag
inherited
template<typename DI, typename CI>
typedef HierarchicContainerAllocationTag Dune::PDELab::OrderingBase< DI, CI >::ContainerAllocationTag
inherited
template<typename DI, typename CI>
typedef Dune::PDELab::impl::GridFunctionSpaceOrderingData<typename Traits::SizeType> Dune::PDELab::OrderingBase< DI, CI >::GFSData
protectedinherited
template<typename DI, typename CI, typename Node>
typedef LexicographicOrderingTag Dune::PDELab::lexicographic_ordering::Base< DI, CI, Node >::OrderingTag
template<typename DI, typename CI, typename Node>
typedef OrderingBase<DI,CI>::Traits Dune::PDELab::lexicographic_ordering::Base< DI, CI, Node >::Traits

Constructor & Destructor Documentation

template<typename DI, typename CI, typename Node>
Dune::PDELab::lexicographic_ordering::Base< DI, CI, Node >::Base ( Node &  node,
bool  container_blocked,
typename BaseT::GFSData gfs_data 
)
inline

Construct ordering object.

In general, an ordering object is not properly setup after construction. This must be done by a seperate call to update() after all the children have been properly set up.

Member Function Documentation

template<typename DI, typename CI>
void Dune::PDELab::OrderingBase< DI, CI >::_mapIndex ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex ci 
) const
inlineprotectedinherited
template<typename DI, typename CI>
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::blockCount ( ) const
inlineinherited
template<typename DI, typename CI>
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::blockOffset ( const typename Traits::SizeType  child_index) const
inlineinherited
template<typename DI, typename CI>
OrderingBase& Dune::PDELab::OrderingBase< DI, CI >::childOrdering ( typename Traits::SizeType  i)
inlineinherited
template<typename DI, typename CI>
const OrderingBase& Dune::PDELab::OrderingBase< DI, CI >::childOrdering ( typename Traits::SizeType  i) const
inlineinherited
template<typename DI, typename CI>
std::size_t Dune::PDELab::OrderingBase< DI, CI >::childOrderingCount ( ) const
inlineinherited
template<typename DI, typename CI>
bool Dune::PDELab::OrderingBase< DI, CI >::containerBlocked ( ) const
inlineinherited
template<typename DI, typename CI>
bool Dune::PDELab::OrderingBase< DI, CI >::contains ( typename Traits::SizeType  codim) const
inlineinherited
template<typename DI, typename CI, typename Node>
template<typename CIOutIterator , typename DIOutIterator = DummyDOFIndexIterator>
Traits::SizeType Dune::PDELab::lexicographic_ordering::Base< DI, CI, Node >::extract_entity_indices ( const typename Traits::DOFIndex::EntityIndex &  ei,
typename Traits::SizeType  child_index,
CIOutIterator  ci_out,
const CIOutIterator  ci_end 
) const
inline
template<typename DI, typename CI>
bool Dune::PDELab::OrderingBase< DI, CI >::fixedSize ( typename Traits::SizeType  codim) const
inlineinherited
template<typename DI, typename CI, typename Node>
template<typename ItIn , typename ItOut >
void Dune::PDELab::lexicographic_ordering::Base< DI, CI, Node >::map_lfs_indices ( const ItIn  begin,
const ItIn  end,
ItOut  out 
) const
inline
template<typename DI, typename CI>
Traits::ContainerIndex Dune::PDELab::OrderingBase< DI, CI >::mapIndex ( const typename Traits::DOFIndex di) const
inlineinherited
template<typename DI, typename CI>
void Dune::PDELab::OrderingBase< DI, CI >::mapIndex ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex ci 
) const
inlineinherited
template<typename DI, typename CI>
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::maxLocalSize ( ) const
inlineinherited
template<typename DI, typename CI>
MergeMode::type Dune::PDELab::OrderingBase< DI, CI >::mergeMode ( ) const
inlineinherited
template<typename DI, typename CI>
void Dune::PDELab::OrderingBase< DI, CI >::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!

Referenced by Dune::PDELab::permutation_ordering::Base< DI, CI, PowerLexicographicOrdering< DI, CI, Child, k > >::Base().

template<typename DI, typename CI>
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::size ( ) const
inlineinherited
template<typename DI, typename CI>
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::size ( const typename Traits::SizeType  child_index) const
inlineinherited
template<typename DI, typename CI>
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::sizeOffset ( const typename Traits::SizeType  child_index) const
inlineinherited
template<typename DI, typename CI>
void Dune::PDELab::OrderingBase< DI, CI >::update ( )
inlineinherited

Member Data Documentation

template<typename DI, typename CI>
std::size_t Dune::PDELab::OrderingBase< DI, CI >::_block_count
inherited
template<typename DI, typename CI>
std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< DI, CI >::_child_block_merge_offsets
inherited
template<typename DI, typename CI>
std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< DI, CI >::_child_block_offsets
inherited
template<typename DI, typename CI>
const std::size_t Dune::PDELab::OrderingBase< DI, CI >::_child_count
inherited
template<typename DI, typename CI>
std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< DI, CI >::_child_size_offsets
inherited
template<typename DI, typename CI>
std::vector<OrderingBase*> Dune::PDELab::OrderingBase< DI, CI >::_children
inherited
template<typename DI, typename CI>
Traits::CodimFlag Dune::PDELab::OrderingBase< DI, CI >::_codim_fixed_size
inherited
template<typename DI, typename CI>
Traits::CodimFlag Dune::PDELab::OrderingBase< DI, CI >::_codim_used
inherited
template<typename DI, typename CI>
const bool Dune::PDELab::OrderingBase< DI, CI >::_container_blocked
inherited
template<typename DI, typename CI>
const VirtualOrderingBase<DI,CI>* Dune::PDELab::OrderingBase< DI, CI >::_delegate
inherited
template<typename DI, typename CI>
bool Dune::PDELab::OrderingBase< DI, CI >::_fixed_size
inherited
template<typename DI, typename CI>
GFSData* Dune::PDELab::OrderingBase< DI, CI >::_gfs_data
inherited
template<typename DI, typename CI>
std::size_t Dune::PDELab::OrderingBase< DI, CI >::_max_local_size
inherited
template<typename DI, typename CI>
const MergeMode::type Dune::PDELab::OrderingBase< DI, CI >::_merge_mode
inherited
template<typename DI, typename CI>
std::size_t Dune::PDELab::OrderingBase< DI, CI >::_size
inherited
template<typename DI, typename CI, typename Node>
const bool Dune::PDELab::lexicographic_ordering::Base< DI, CI, Node >::consume_tree_index = true
static
template<typename DI, typename CI>
const bool Dune::PDELab::OrderingBase< DI, CI >::has_dynamic_ordering_children = true
staticinherited

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