25 #include "NamespaceHeader.H" 95 offset += ivDiff[1]*ivSize[0] ;
98 offset += ivDiff[2]*ivSize[0]*ivSize[1];
101 offset += ivDiff[3]*ivSize[0]*ivSize[1]*ivSize[2];
104 offset += ivDiff[4]*ivSize[0]*ivSize[1]*ivSize[2]*ivSize[3];
107 offset += ivDiff[5]*ivSize[0]*ivSize[1]*ivSize[2]*ivSize[3]*ivSize[4];
173 resize(a_box, a_comps, a_alias);
247 auto operator[](
const int a_idx)
const noexcept
250 return m_mdarray[a_idx];
272 int a_numcomp)
const;
291 const int*
loVect()
const;
300 const int*
hiVect()
const;
329 const T*
dataPtr(
int a_n = 0)
const;
399 const Box& a_destbox,
422 const Box& a_destbox);
437 void copy(
const Box& a_RegionFrom,
439 const Box& a_RegionTo,
494 virtual size_t size(
const Box& a_box,
526 void linearIn(
const void*
const a_buf);
569 static std::string
name();
577 const Box& a_destbox,
604 shape::ShapeArray<T, SpaceDim + 1, int> m_mdarray;
617 #include "NamespaceFooter.H" void clear()
Definition: BaseFabImplem.H:252
void degenerate(BaseFab< T > &a_slice, const SliceSpec &a_sliceSpec) const
Definition: BaseFabImplem.H:829
bool contains(const BaseFab< T > &a_fab) const
{ comparison functions}
Definition: BaseFabImplem.H:389
IntVect size() const
size functions
Definition: Box.H:1803
static Arena * s_Arena
Definition: BaseFab.H:594
#define CH_assert(cond)
Definition: CHArray.H:37
virtual void linearOut(void *a_buf, const Box &a_R, const Interval &a_comps) const
Definition: BaseFabImplem.H:568
void setVal(T a_x, const Box &a_bx, int a_nstart, int a_numcomp)
{ data modification functions}
Definition: BaseFabImplem.H:399
virtual ~BaseFab()
Definition: BaseFabImplem.H:168
BaseFab< T > & shift(const IntVect &a_v)
{ domain modification functions}
Definition: BaseFabImplem.H:516
virtual void linearIn(void *a_buf, const Box &a_R, const Interval &a_comps)
Definition: BaseFabImplem.H:588
Definition: SliceSpec.H:41
bool contains(const IntVect &p) const
Definition: Box.H:1871
static std::string name()
Definition: BaseFabImplem.H:763
Box m_domain
Definition: BaseFab.H:596
const IntVect & bigEnd() const
Definition: BaseFabImplem.H:286
int m_nvar
Definition: BaseFab.H:597
const Box & box() const
Definition: BaseFabImplem.H:271
int linearSize(void) const
Definition: BaseFabImplem.H:667
BaseFab< T > & operator=(BaseFab< T > &&) noexcept
move assignment
Definition: BaseFabImplem.H:101
const int * nCompPtr() const
Definition: BaseFabImplem.H:366
BaseFab()
Definition: BaseFabImplem.H:115
virtual void * linearOut2(void *a_buf, const Box &a_R, const Interval &a_comps) const
Same as linearOut, but returns the current location in the buffer.
Definition: BaseFabImplem.H:574
bool isAliased() const
Definition: BaseFabImplem.H:817
void getVal(T *a_data, const IntVect &a_pos, int a_N, int a_numcomp) const
Definition: BaseFabImplem.H:333
static int preAllocatable()
Definition: BaseFab.H:531
BaseFab< T > & shiftHalf(int a_dir, int a_numHalfs)
Definition: BaseFabImplem.H:539
Structure for passing component ranges in code.
Definition: Interval.H:23
const IntVect & smallEnd() const
{ Accessors}
Definition: Box.H:1754
virtual void define(const Box &a_box, int a_comps, T *a_alias=NULL)
Definition: BaseFab.H:169
A Virtual Base Class for Dynamic Memory Managemen.
Definition: Arena.H:40
double Real
Definition: REAL.H:33
void define()
Definition: BaseFabImplem.H:672
virtual void performCopy(const BaseFab< T > &a_src, const Box &a_srcbox, int a_srccomp, const Box &a_destbox, int a_destcomp, int a_numcomp)
Definition: BaseFabImplem.H:771
const int * hiVect() const
Definition: BaseFabImplem.H:361
BaseFab< T > & copy(const BaseFab< T > &a_src, const Box &a_srcbox, int a_srccomp, const Box &a_destbox, int a_destcomp, int a_numcomp)
Definition: BaseFabImplem.H:426
Interval interval() const
Definition: BaseFab.H:223
virtual long offset(const IntVect &a_iv, const int &a_ivar) const
{ constructors, destructor and defines}
Definition: BaseFab.H:83
const IntVect & smallEnd() const
Definition: BaseFabImplem.H:281
T * dataPtr(int a_n=0)
Definition: BaseFabImplem.H:373
T *__restrict m_dptr
Definition: BaseFab.H:601
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
bool m_aliased
Definition: BaseFab.H:602
long m_truesize
Definition: BaseFab.H:599
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
T & operator()(const IntVect &a_p, int a_N)
Definition: BaseFabImplem.H:291
const int * loVect() const
{ Fortran interface functions}
Definition: BaseFabImplem.H:356
int nComp() const
{ accessors}
Definition: BaseFabImplem.H:264
void const char const int const int * N
Definition: Lapack.H:83
void resize(const Box &a_b, int a_n=1, T *a_alias=NULL)
Definition: BaseFabImplem.H:173
void undefine()
Definition: BaseFabImplem.H:728
static int testBoxAndComp()
regression test
Definition: BaseFabImplem.H:39
void performSetVal(T a_x, const Box &a_bx, int a_nstart, int a_numcomp)
Definition: BaseFabImplem.H:790
static int test()
regression test
Definition: BaseFabImplem.H:77
virtual void * linearIn2(void *a_buf, const Box &a_R, const Interval &a_comps)
same as linearIn, but returns the current location in the buffer
Definition: BaseFabImplem.H:596
IntVect size() const
Definition: BaseFabImplem.H:276
long m_numpts
Definition: BaseFab.H:598
bool isUsable() const
Definition: BaseFabImplem.H:823