Proto  3.2
Classes | Namespaces | Macros | Functions | Variables
Proto_MBLevelBoxData.H File Reference
#include "Proto_MBDisjointBoxLayout.H"
#include "Proto_MBBoundaryData.H"
#include "Proto_MBDataPoint.H"
#include "implem/Proto_MBLevelBoxDataImplem.H"
Include dependency graph for Proto_MBLevelBoxData.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Proto::MBLevelBoxData< T, C, MEM, CTR >
 Multiblock Level Box Data. More...
 
class  Proto::MBLevelMap< MAP, MEM >
 Single Level Mapped Multiblock Map. More...
 
class  Proto::MBLevelCopierOp< T, C, SRC_MEM, DST_MEM, CTR >
 Level Copier Operator. More...
 
class  Proto::MBLevelCopier< T, C, SRC_MEM, DST_MEM, CTR >
 Level Copier. More...
 
class  Proto::MBLevelFullCopierOp< T, C, SRC_MEM, DST_MEM, CTR >
 Full Level Copier Operator (Includes all ghost cells) More...
 
class  Proto::MBLevelFullCopier< T, C, SRC_MEM, DST_MEM, CTR >
 Full Level Copier (Includes all ghost cells) More...
 
class  Proto::MBLevelExchangeCopierOp< T, C, MEM, CTR >
 Exchange Copier Operator. More...
 
class  Proto::MBLevelExchangeCopier< T, C, MEM, CTR >
 Exchange Copier. More...
 
class  Proto::MBLevelBoxData< T, C, MEM, CTR >
 Multiblock Level Box Data. More...
 

Namespaces

 Proto
 

Macros

#define _PROTO_MB_LEVEL_DATA_
 

Functions

template<typename IN >
const IN & Proto::parse_mb_level_arg (MBIndex &a_index, Centering C, const IN &a_arg)
 
template<typename T , unsigned int C, MemType MEM, Centering CTR>
const BoxData< T, C, MEM > & Proto::parse_mb_level_arg (MBIndex &a_index, Centering _CTR, const MBLevelBoxData< T, C, MEM, CTR > &a_arg)
 
template<typename Func , typename MAP , MemType MEM>
const BoxData< double, DIM, MEM > Proto::parse_mb_level_arg (MBIndex &a_index, Centering C, const MBLevelMap< MAP, MEM > &a_arg)
 
template<int I = 0, typename Func , typename... LArgs, typename... FArgs>
std::enable_if< I==sizeof...(LArgs), void >::type Proto::call_mb_level_forall (Func &a_func, MBIndex &a_index, Centering CTR, std::tuple< LArgs... > a_args, FArgs &&... a_fargs)
 
 Proto::exchange ()
 

Variables

template<int I = 0, typename Func , typename... LArgs, typename... FArgs>
std::enable_if< I< sizeof...(LArgs), void >::typecall_mb_level_forall(Func &a_func, MBIndex &a_index, Centering CTR, std::tuple< LArgs... > a_args, FArgs &&... a_fargs){ auto &arg=parse_mb_level_arg(a_index, CTR, std::get< I >a_args));call_mb_level_forall< I+1 >a_func, a_index, CTR, a_args, a_fargs..., arg);}template< typename T, unsigned int C, MemType MEM, Centering CTR >template< typename Func, typename... Srcs >void MBLevelBoxData< T, C, MEM, CTR >::initialize(Func &a_func, Srcs &... a_srcs){ auto srcs=std::tuple< Srcs &... >a_srcs...);for(auto iter :(m_layout)) { auto &patch=(*this)[iter];auto block=layout().block(iter);call_mb_level_forall(a_func, iter, CTR, srcs, patch, block);} }template< typename T, unsigned int C, MemType MEM, Centering CTR >template< typename Func, typename... Srcs >void MBLevelBoxData< T, C, MEM, CTR >::initConvolve(Func &a_func, Srcs &... a_srcs){ auto g=ghost();g[0]=g[0]+Point::Ones();MBLevelBoxData< T, C, MEM, CTR > tmp(m_layout, g);tmp.initialize(a_func, a_srcs...);for(auto iter :m_layout) { auto &tmp_i=tmp[iter];auto &patch=(*this)[iter];Operator::convolve(patch, tmp_i);}}template< typename T, unsigned int C, MemType MEM, Centering CTR >void MBLevelBoxData< T, C, MEM, CTR >::setVal(T a_value){ for(auto data :m_data) { data-> Proto::setVal (a_value)
 

Macro Definition Documentation

◆ _PROTO_MB_LEVEL_DATA_

#define _PROTO_MB_LEVEL_DATA_