13#ifndef CD_EBAMRDATAIMPLEM_H
14#define CD_EBAMRDATAIMPLEM_H
21#include <CD_NamespaceHeader.H>
26 CH_TIME(
"EBAMRData<T>::EBAMRData()");
33 CH_TIME(
"EBAMRData<T>::EBAMRData(int)");
35 m_data.resize(a_size);
41 CH_TIME(
"EBAMRData<T>::~EBAMRData()");
45RefCountedPtr<LevelData<T>>&
48 return m_data[a_level];
52const RefCountedPtr<LevelData<T>>&
55 return m_data[a_level];
62 m_data.resize(a_size);
76 for (
int lvl = 0; lvl < m_data.size(); lvl++) {
77 m_data[lvl] = RefCountedPtr<LevelData<T>>(0);
108 for (
int lvl = 0; lvl < m_data.size(); lvl++) {
109 m_data[lvl]->exchange();
114Vector<RefCountedPtr<LevelData<T>>>&
121const Vector<RefCountedPtr<LevelData<T>>>&
131 m_data.push_back(a_levelData);
173#include <CD_NamespaceFooter.H>
Class for holding data across EBAMR hierarchies.
Default class for holding LevelData<T> data across an EBAMR realm.
Definition CD_EBAMRData.H:41
EBAMRData() noexcept
Default constructor. Does nothing.
Definition CD_EBAMRDataImplem.H:24
void reserve() noexcept
Reserve data.
Definition CD_EBAMRDataImplem.H:85
Vector< RefCountedPtr< LevelData< T > > > & getData() noexcept
Get underlying data. Returns m_data.
Definition CD_EBAMRDataImplem.H:115
void exchange() noexcept
Exchange on all AMR levels.
Definition CD_EBAMRDataImplem.H:106
virtual ~EBAMRData() noexcept
Destructor. Does nothing.
Definition CD_EBAMRDataImplem.H:39
int size() const noexcept
Get size of m_data.
Definition CD_EBAMRDataImplem.H:67
void push_back(RefCountedPtr< LevelData< T > > &a_levelData) noexcept
Push a LevelData<T> object to the back of the data vector.
Definition CD_EBAMRDataImplem.H:129
bool isReserved() const noexcept
Check if data is reserved.
Definition CD_EBAMRDataImplem.H:99
void clear() noexcept
Delete all data.
Definition CD_EBAMRDataImplem.H:74
void resize(int a_size) noexcept
Resize m_data to having size a_size.
Definition CD_EBAMRDataImplem.H:60
void setRealm(const std::string &a_realm) noexcept
Sets the realm for this object.
Definition CD_EBAMRDataImplem.H:143
void release() noexcept
Release data.
Definition CD_EBAMRDataImplem.H:92
const std::string getRealm() const noexcept
Returns the string identifier for whatever realm this data is supposed to be allocated over.
Definition CD_EBAMRDataImplem.H:136
RefCountedPtr< LevelData< T > > & operator[](int a_level) noexcept
Indexing operators. Returns m_data[a_level].
Definition CD_EBAMRDataImplem.H:46