![]() |
Block-Structured AMR Software Framework
|
Abstract factory interface for creating, aliasing, and destroying FAB objects. More...
#include <AMReX_FabFactory.H>
Public Member Functions | |
| FabFactory () noexcept=default | |
| FabFactory (FabFactory const &) noexcept=default | |
| FabFactory (FabFactory &&) noexcept=default | |
| FabFactory & | operator= (FabFactory const &) noexcept=default |
| FabFactory & | operator= (FabFactory &&) noexcept=default |
| virtual | ~FabFactory () noexcept=default |
| virtual FAB * | create (const Box &box, int ncomps, const FabInfo &info, int box_index) const =0 |
Create a FAB covering box with ncomps components. | |
| virtual FAB * | create_alias (FAB const &, int, int) const |
Create an alias FAB that views components [scomp, scomp+ of rhs. | |
| virtual void | destroy (FAB *fab) const =0 |
| Destroy a FAB previously created by this factory. | |
| virtual FabFactory< FAB > * | clone () const =0 |
| Return a heap-allocated copy of this factory. | |
| virtual Long | nBytes (const Box &box, int ncomps, int) const |
Return the storage size for ncomps components in box, or -1 if unavailable. | |
Abstract factory interface for creating, aliasing, and destroying FAB objects.
| FAB | FAB type produced by this factory. |
|
defaultnoexcept |
|
defaultnoexcept |
|
defaultnoexcept |
|
virtualdefaultnoexcept |
|
pure virtual |
Return a heap-allocated copy of this factory.
Implemented in amrex::EBFArrayBoxFactory, and amrex::DefaultFabFactory< FAB >.
|
pure virtual |
Create a FAB covering box with ncomps components.
Storage allocation is controlled by info.
| box | Region represented by the FAB. |
| ncomps | Number of components per cell. |
| info | Allocation hints (arena, shared flag, etc.). |
| box_index | Global box index supplied by the owning container. |
Implemented in amrex::EBFArrayBoxFactory, and amrex::DefaultFabFactory< FAB >.
|
inlinevirtual |
Create an alias FAB that views components [scomp, scomp+ of ncomp)rhs.
Default implementation returns nullptr, indicating aliasing is unsupported.
Reimplemented in amrex::DefaultFabFactory< FAB >, and amrex::EBFArrayBoxFactory.
|
pure virtual |
Destroy a FAB previously created by this factory.
Implemented in amrex::DefaultFabFactory< FAB >, and amrex::EBFArrayBoxFactory.
|
inlinevirtual |
Return the storage size for ncomps components in box, or -1 if unavailable.
|
defaultnoexcept |
|
defaultnoexcept |