11 #ifndef _LAYOUTDATAI_H_
12 #define _LAYOUTDATAI_H_
18 #include "NamespaceHeader.H"
36 return *(m_vector[a_index.
datInd()]);
42 return (*
this)[a_index()];
56 return *(m_vector[a_index.
datInd()]);
63 return (*
this)[a_index()];
69 return m_boxLayout.get(a_index);
75 return m_boxLayout.get(a_index());
81 return m_boxLayout.dataIterator();
87 return m_boxLayout.timedDataIterator();
119 if (m_callDelete ==
true)
122 for (; it.
ok(); ++it)
124 delete m_vector[it().datInd()];
126 #if CH_USE_MEMORY_TRACKING
127 m_vector.bytes -=
sizeof(T)*it.
size();
137 for (
unsigned int i = 0; i < m_vector.size(); ++i)
142 #if CH_USE_MEMORY_TRACKING
143 this->m_vector.bytes -=
sizeof(T)*m_vector.size();
147 #if CH_USE_MEMORY_TRACKING
148 m_vector.bytes +=
sizeof(T)*it.
size();
150 m_vector.resize(it.
size(), NULL);
152 for (; it.
ok(); ++it)
154 unsigned int index = it().datInd();
155 if (m_vector[index] == NULL)
157 m_vector[index] =
new T;
158 if (m_vector[index] == NULL)
166 #include "NamespaceFooter.H"
virtual ~LayoutData()
Definition: LayoutDataI.H:116
bool m_callDelete
Definition: LayoutData.H:129
LayoutData()
Definition: LayoutDataI.H:91
#define CH_assert(cond)
Definition: CHArray.H:37
A not-necessarily-disjoint collective of boxes.
Definition: BoxLayout.H:146
TimedDataIterator timedDataIterator() const
Definition: LayoutDataI.H:85
int size() const
Definition: DataIterator.H:168
const T & operator[](const DataIndex &a_index) const
const accessor function
Definition: LayoutDataI.H:26
Definition: DataIterator.H:140
int datInd() const
Definition: DataIndex.H:64
#define CH_TIME(name)
Definition: CH_Timer.H:59
void allocate()
Definition: LayoutDataI.H:133
virtual void define(const BoxLayout &a_dp)
Definition: LayoutDataI.H:108
bool isClosed() const
Definition: BoxLayout.H:696
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.
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
Definition: DataIndex.H:112
DataIterator dataIterator() const
Definition: LayoutDataI.H:79
virtual bool ok() const
return true if this iterator is still in its Layout
Definition: LayoutIterator.H:110
Box box(const DataIndex &a_index) const
Definition: LayoutDataI.H:67
Definition: TimedDataIterator.H:23