Abstract base class defining the interface for all concrete transaction factory objects that generate data transaction objects used with a CoarsenSchedule<DIM> object. A concrete subclass will allocate new transaction objects. This class is an example of the `‘Abstract Factory’' method described in the Design Patterns book by Gamma, et al.
More...
#include <CoarsenTransactionFactory.h>
template<int DIM>
class SAMRAI::xfer::CoarsenTransactionFactory< DIM >
To add a new type of Transaction object MyCoarsenTransaction:
- Implement a concrete CoarsenTransactionFactory<DIM> object as a subclass that is derived from this CoarsenTransactionFactory<DIM> base class. Implement the abstract virtual functions as appropriate for the concrete subclass; in particular, the allocate() function must return a new instance of the desired transaction object.
- The type of the transaction allocated by the concrete factory is a Transaction<DIM>. Thus, the new transaction object must be derived from the Transaction<DIM> base class and implement the abstract virtual functions declared by the base class.
- See also
- tbox::Transaction
◆ CoarsenTransactionFactory() [1/2]
◆ ~CoarsenTransactionFactory()
◆ CoarsenTransactionFactory() [2/2]
◆ setCoarsenItems()
◆ unsetCoarsenItems()
◆ allocate()
- Parameters
-
| dst_level | tbox::Pointer to destination patch level. |
| src_level | tbox::Pointer to source patch level. |
| overlap | tbox::Pointer to overlap region between patches. |
| dst_patch_id | Integer index of destination patch in destination patch level. |
| src_patch_id | Integer index of source patch in source patch level. |
| citem_id | Integer index of CoarsenClass::Data item associated with transaction. |
| pool | Optional pointer to memory pool from which the refine transaction may be allocated. Default is null. |
Implemented in SAMRAI::xfer::StandardCoarsenTransactionFactory< DIM >.
◆ operator=()
The documentation for this class was generated from the following file: