18 #include "NamespaceHeader.H" 43 const Box& a_fromRegion,
44 const Box& a_toRegion);
56 m_recbuffer(NULL), m_reccapacity(0)
65 {
return ncomps == m_ncomps;}
87 if (procID == rhs.procID)
90 const Box& right= rhs.item->toRegion;
97 return item->
toRegion < rhs.item->toRegion;
101 return procID < rhs.procID;
150 bool a_exchange =
false,
157 bool a_exchange =
false,
164 bool a_exchange =
false,
172 bool a_exchange =
false,
181 bool a_exchange =
false,
188 bool a_exchange =
false,
195 bool a_exchange =
false,
199 virtual void define(
const BoxLayout& a_level,
203 bool a_exchange =
false,
220 virtual void clear();
259 bool bufferAllocated()
const;
260 void setBufferAllocated(
bool arg)
const;
262 int numLocalCellsToCopy()
const;
263 int numFromCellsToCopy()
const;
264 int numToCellsToCopy()
const;
267 {
return m_isDefined;}
317 const Box& a_fromRegion,
318 const Box& a_toRegion)
349 inline void operator++();
351 inline bool ok()
const;
376 MayDay::Error(
"illegal local_from_to option for CopyIterator");
382 CH_assert(m_current < m_motionplanPtr->size());
401 #include "NamespaceFooter.H" bool isDefined(int ncomps) const
Definition: Copier.H:64
bool isDefined() const
Definition: Copier.H:266
void reset()
Definition: Copier.H:396
#define CH_assert(cond)
Definition: CHArray.H:37
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:130
CopierBuffer m_buffers
Definition: Copier.H:269
Vector< MotionItem * > m_fromMotionPlan
Definition: Copier.H:276
int m_ncomps
Definition: Copier.H:67
A not-necessarily-disjoint collective of boxes.
Definition: BoxLayout.H:146
one dimensional dynamic array
Definition: Vector.H:52
A strange but true thing to make copying from one boxlayoutdata to another fast.
Definition: Copier.H:137
std::ostream & operator<<(std::ostream &os, const Copier &copier)
std::vector< bufEntry > m_fromMe
Definition: Copier.H:106
DisjointBoxLayout m_originPlan
Definition: Copier.H:285
bool m_isDefined
Definition: Copier.H:288
size_t m_sendcapacity
Definition: Copier.H:71
void reverse()
Definition: Copier.H:325
static Pool s_motionItemPool
Definition: Copier.H:280
int procID
Definition: Copier.H:36
IndexTM< T, N > coarsen(const IndexTM< T, N > &a_p, T a_s)
Definition: IndexTMI.H:432
DataIndex toIndex
Definition: Copier.H:33
const IntVect & bigEnd() const
Definition: Box.H:1779
BoxLayout m_dest
Definition: Copier.H:286
Vector< MotionItem * > m_toMotionPlan
Definition: Copier.H:277
size_t m_reccapacity
Definition: Copier.H:74
void * m_recbuffer
Definition: Copier.H:72
MotionItem(const DataIndex &a_from, const DataIndex &a_to, const Box &a_region)
Definition: Copier.H:307
void * m_sendbuffer
Definition: Copier.H:69
const IntVect & smallEnd() const
{ Accessors}
Definition: Box.H:1765
bool operator<(const FaceIndex &f1, const FaceIndex &f2)
Definition: FaceIndex.H:204
Pool is a class to optimize memory allocation.
Definition: Pool.H:63
bool buffersAllocated
Definition: Copier.H:281
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:31
CopierBuffer()
null constructor, copy constructor and operator= can be compiler defined.
Definition: Copier.H:55
Vector< MotionItem * > m_localMotionPlan
Definition: Copier.H:275
size_t size() const
Definition: Vector.H:177
Box toRegion
Definition: Copier.H:35
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
unsigned int m_current
Definition: Copier.H:356
void operator++()
Definition: Copier.H:386
static const IntVect Zero
Definition: IntVect.H:627
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
Definition: DataIndex.H:112
Copier()
null constructor, copy constructor and operator= can be compiler defined.
Definition: Copier.H:142
const MotionItem & operator()() const
Definition: Copier.H:380
local_from_to
Definition: Copier.H:338
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
bool ok() const
Definition: Copier.H:391
const Vector< MotionItem * > * m_motionplanPtr
Definition: Copier.H:355
DataIndex fromIndex
Definition: Copier.H:33
Box fromRegion
Definition: Copier.H:34
CopyIterator(const Copier &a_copier, local_from_to)
Definition: Copier.H:361
std::vector< bufEntry > m_toMe
Definition: Copier.H:107
bool lexLT(const IntVect &s) const
Definition: IntVect.H:814