1#ifndef AMREX_LayoutData_H_
2#define AMREX_LayoutData_H_
3#include <AMReX_Config.H>
29 m_need_to_clear_bd =
true;
39 m_need_to_clear_bd(rhs.m_need_to_clear_bd)
46 m_data(std::move(rhs.m_data)),
47 m_need_to_clear_bd(rhs.m_need_to_clear_bd)
49 rhs.m_need_to_clear_bd =
false;
61 m_need_to_clear_bd = rhs.m_need_to_clear_bd;
76 m_data = std::move(rhs.m_data);
77 m_need_to_clear_bd = rhs.m_need_to_clear_bd;
79 rhs.m_need_to_clear_bd =
false;
86 int local_index = a_mfi.LocalIndex();
87 BL_ASSERT(local_index >= 0 && local_index < m_data.size() &&
89 return m_data[local_index];
95 int local_index = a_mfi.LocalIndex();
96 BL_ASSERT(local_index >= 0 && local_index < m_data.size() &&
98 return m_data[local_index];
103 int local_index = this->
localindex(a_box_index);
104 BL_ASSERT(local_index >= 0 && local_index < m_data.size());
105 return m_data[local_index];
111 int local_index = this->
localindex(a_box_index);
112 BL_ASSERT(local_index >= 0 && local_index < m_data.size());
113 return m_data[local_index];
116 const T*
data () const noexcept {
return m_data.data(); }
117 T*
data () noexcept {
return m_data.data(); }
121 bool m_need_to_clear_bd =
false;
#define BL_ASSERT(EX)
Definition AMReX_BLassert.H:39
A collection of Boxes stored in an Array.
Definition AMReX_BoxArray.H:567
Calculates the distribution of FABs to MPI processes.
Definition AMReX_DistributionMapping.H:43
Base class for FabArray.
Definition AMReX_FabArrayBase.H:42
void clearThisBD(bool no_assertion=false) const
clear BD count and caches associated with this BD, if no other is using this BD.
Definition AMReX_FabArrayBase.cpp:2522
void addThisBD()
add the current BD into BD count database
Definition AMReX_FabArrayBase.cpp:2552
FabArrayBase & operator=(const FabArrayBase &rhs)=default
void define(const BoxArray &bxs, const DistributionMapping &dm, int nvar, int ngrow)
Definition AMReX_FabArrayBase.cpp:178
int localindex(int K) const noexcept
Return local index in the vector of FABs.
Definition AMReX_FabArrayBase.H:119
const DistributionMapping & DistributionMap() const noexcept
Return constant reference to associated DistributionMapping.
Definition AMReX_FabArrayBase.H:131
int local_size() const noexcept
Return the number of local FABs in the FabArray.
Definition AMReX_FabArrayBase.H:113
a one-thingy-per-box distributed object
Definition AMReX_LayoutData.H:13
LayoutData(LayoutData &&rhs) noexcept
Definition AMReX_LayoutData.H:44
T * data() noexcept
Definition AMReX_LayoutData.H:117
LayoutData & operator=(const LayoutData &rhs) noexcept
Definition AMReX_LayoutData.H:52
const T * data() const noexcept
Definition AMReX_LayoutData.H:116
~LayoutData()
Definition AMReX_LayoutData.H:34
LayoutData(const LayoutData &rhs) noexcept
Definition AMReX_LayoutData.H:36
void define(const BoxArray &a_grids, const DistributionMapping &a_dm)
Definition AMReX_LayoutData.H:25
T & operator[](int a_box_index) noexcept
Definition AMReX_LayoutData.H:101
const T & operator[](int a_box_index) const noexcept
Definition AMReX_LayoutData.H:109
LayoutData(const BoxArray &a_grids, const DistributionMapping &a_dm)
Definition AMReX_LayoutData.H:19
const T & operator[](const MFIter &a_mfi) const noexcept
Definition AMReX_LayoutData.H:93
T & operator[](const MFIter &a_mfi) noexcept
Definition AMReX_LayoutData.H:84
Iterator for looping ever tiles and boxes of amrex::FabArray based containers.
Definition AMReX_MFIter.H:85
This class is a thin wrapper around std::vector. Unlike vector, Vector::operator[] provides bound che...
Definition AMReX_Vector.H:28
Definition AMReX_Amr.cpp:49