| 
|   | CoDimCopier () | 
|   | null constructor, copy constructor and operator= can be compiler defined.  More...
  | 
|   | 
|   | CoDimCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false) | 
|   | Basic defining constructor.  More...
  | 
|   | 
|   | CoDimCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false) | 
|   | this constructor contains support for periodic BC's  More...
  | 
|   | 
|   | CoDimCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_ghost, int a_coDim, bool a_exchange=false) | 
|   | Copier to copy into coDim corner ghost cells of a_dest from coDim-1 ghost cells of a_level.  More...
  | 
|   | 
|   | CoDimCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_ghost, int a_coDim, bool a_exchange=false) | 
|   | Copier to copy data into the coDim corner ghost cells of a_dest from the coDim-1 ghost cells of a_level with support for periodic BCs.  More...
  | 
|   | 
| virtual  | ~CoDimCopier () | 
|   | 
| virtual void  | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false) | 
|   | define to match constructor (also doesn't do anything)  More...
  | 
|   | 
| virtual void  | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false) | 
|   | define to match constructor (also doesn't do anything)  More...
  | 
|   | 
| virtual void  | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_ghost, int a_coDim, bool a_exchange=false) | 
|   | 
| virtual void  | define (const BoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_ghost, int a_coDim, bool a_exchange=false) | 
|   | contains support for periodic BCs  More...
  | 
|   | 
| virtual void  | clear () | 
|   | 
| const IntVect &  | ghost () | 
|   | 
| const int  | coDim () const | 
|   | 
|   | Copier () | 
|   | null constructor, copy constructor and operator= can be compiler defined.  More...
  | 
|   | 
|   | Copier (const Copier &a_rhs) | 
|   | 
|   | Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false, IntVect a_shift=IntVect::Zero) | 
|   | 
|   | Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false, IntVect a_shift=IntVect::Zero) | 
|   | this constructor contains support for periodic BC's  More...
  | 
|   | 
|   | Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero) | 
|   | Copier to copy data into the valid and invalid regions of a_dest from a_level.  More...
  | 
|   | 
|   | Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero) | 
|   | Copier to copy data into the valid and invalid regions of a_dest from a_level with support for periodic BCs.  More...
  | 
|   | 
| virtual  | ~Copier () | 
|   | 
| virtual void  | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false, IntVect a_shift=IntVect::Zero) | 
|   | 
| virtual void  | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false, IntVect a_shift=IntVect::Zero) | 
|   | contains support for periodic BCs  More...
  | 
|   | 
| virtual void  | define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero) | 
|   | 
| virtual void  | define (const BoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero) | 
|   | contains support for periodic BCs  More...
  | 
|   | 
| virtual void  | exchangeDefine (const DisjointBoxLayout &a_grids, const IntVect &a_ghost, bool a_includeSelf=false) | 
|   | alternative version of define for exchange copiers that uses new optimized neighborIterator  More...
  | 
|   | 
| void  | defineFixedBoxSize (const DisjointBoxLayout &a_src, const LMap &a_lmap, const IntVect &a_ghost, const ProblemDomain &a_domain, bool a_includeSelf=false, bool a_reverse=false) | 
|   | 
| void  | defineFixedBoxSize (const DisjointBoxLayout &a_src, const LMap &a_lmapSrc, const IntVect &a_refRatioSrc, const DisjointBoxLayout &a_dst, const LMap &a_lmapDst, const IntVect &a_refRatioDst, const IntVect &a_ghost, const ProblemDomain &a_domain, bool a_reverse=false) | 
|   | 
| void  | defineFixedSizeNodesCollect (const DisjointBoxLayout &a_layout, const LMap &a_lmap, const IntVect &a_ghostSrc, const IntVect &a_ghostDst, const ProblemDomain &a_domain) | 
|   | 
| void  | defineFixedSizeNodesCollect (const DisjointBoxLayout &a_src, const LMap &a_lmapSrc, const IntVect &a_refRatioSrc, const IntVect &a_ghostSrc, const DisjointBoxLayout &a_dst, const LMap &a_lmapDst, const IntVect &a_refRatioDst, const IntVect &a_ghostDst, const ProblemDomain &a_domain) | 
|   | 
| void  | ghostDefine (const DisjointBoxLayout &a_src, const DisjointBoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_srcGhost) | 
|   | performs the computation necessary for moving from ghost+valid cells to all valid cells in a_dest  More...
  | 
|   | 
| void  | ghostDefine (const DisjointBoxLayout &a_src, const DisjointBoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_srcGhost, const IntVect &a_destGhost) | 
|   | performs the computation necessary for moving from ghost+valid cells to all valid+ghost cells in a_dest  More...
  | 
|   | 
| Copier &  | operator= (const Copier &b) | 
|   | 
| void  | reverse () | 
|   | 
| void  | trimEdges (const DisjointBoxLayout &a_exchangedLayout, const IntVect &ghost) | 
|   | 
| void  | coarsen (int a_refRatio) | 
|   | 
| bool  | operator== (const Copier &rhs) const | 
|   | 
| int  | print () const | 
|   | 
| bool  | bufferAllocated () const | 
|   | 
| void  | setBufferAllocated (bool arg) const | 
|   | 
| int  | numLocalCellsToCopy () const | 
|   | 
| int  | numFromCellsToCopy () const | 
|   | 
| int  | numToCellsToCopy () const | 
|   | 
| bool  | isDefined () const | 
|   | 
An even strangerer (than CornerCopier) thing to copy from ghost cells to corner ghost cells. 
This is a specialized Copier to fill corner ghost cells of Codim n from codim (n-1) ghost cells of adjacent boxes. Calling exchange with this copier will fill only the corner ghost cells. All other exchange operations should be performed by calling a separate exchange with a normal Copier. For this to work properly, one needs to call it DIM-1 times, starting with a coDim of 1, and ending with coDim DIM-1. To automate this, we provide a CoDimCopierManager class, which defines the appropriate CoDimCopiers and also managed the series of CoDim exchanges.