
#include <idxl.h>

Public Member Functions | |
| IDXL_Chunk (int mpi_comm_) | |
| IDXL_Chunk (CkMigrateMessage *m) | |
| void | pup (PUP::er &p) |
| ~IDXL_Chunk () | |
| IDXL_t | addDynamic (void) |
| Dynamically create a new empty IDXL. Must eventually call destroy. | |
| IDXL_t | addStatic (IDXL *idx, IDXL_t at=-1) |
| Register this statically-allocated IDXL, possibly at this index. | |
| void | check (IDXL_t u, const char *callingRoutine="") const |
| Check this IDXL for validity. | |
| IDXL & | lookup (IDXL_t u, const char *callingRoutine="") |
| Find this previously allocated IDXL:. | |
| const IDXL & | lookup (IDXL_t u, const char *callingRoutine="") const |
| void | destroy (IDXL_t t, const char *callingRoutine="") |
| Done with this IDXL. Deallocates if a dynamic IDXL. | |
| IDXL_Comm_t | addComm (int tag, int context) |
| IDXL_Comm * | lookupComm (IDXL_Comm_t uc, const char *callingRoutine="") |
| void | waitComm (IDXL_Comm *comm) |
Static Public Member Functions | |
| static IDXL_Chunk * | getNULL (void) |
| static IDXL_Chunk * | get (const char *callingRoutine) |
Data Fields | |
| IDXL_Layout_List | layouts |
Private Member Functions | |
| int | storeToFreeIndex (CkVec< IDXL * > &inList, IDXL *store) |
| void | init (void) |
Private Attributes | |
| int | mpi_comm |
| CkVec< IDXL * > | static_idxls |
| "Static" index list is for system entities like the FEM framework that want to allocate and delete the lists themselves. | |
| CkVec< IDXL * > | dynamic_idxls |
| "Dynamic" index list is for ordinary user-created lists, where this class manages their allocation and deallocation. | |
| IDXL_Comm * | currentComm |
For IDXL_Chunk to do its job, you're supposed to inherit from it.
Definition at line 117 of file idxl.h.
| IDXL_Chunk::IDXL_Chunk | ( | int | mpi_comm_ | ) |
| IDXL_Chunk::IDXL_Chunk | ( | CkMigrateMessage * | m | ) |
| IDXL_Chunk::~IDXL_Chunk | ( | ) |
Definition at line 98 of file idxl.C.
References currentComm, dynamic_idxls, and CkVec< T >::size().

Definition at line 134 of file idxl.h.
References CkVec< T >::push_back(), and CkVec< T >::size().
Referenced by addDynamic(), and addStatic().


| void IDXL_Chunk::init | ( | void | ) | [private] |
Definition at line 63 of file idxl.C.
Referenced by FORTRAN_AS_C(), and IDXL_Chunk().

| void IDXL_Chunk::pup | ( | PUP::er & | p | ) |
Definition at line 67 of file idxl.C.
References currentComm, PUP::d, dynamic_idxls, int, IDXL_Comm::isComplete(), PUP::er::isPacking(), PUP::er::isUnpacking(), layouts, mpi_comm, and CkVec< T >::size().
Referenced by pupIDXL_Chunk().


| static IDXL_Chunk* IDXL_Chunk::getNULL | ( | void | ) | [inline, static] |
Definition at line 156 of file idxl.h.
References IDXL_globalID, and TCHARM_Get_global().
Referenced by get(), and FEM_Comm_Holder::~FEM_Comm_Holder().


| IDXL_Chunk * IDXL_Chunk::get | ( | const char * | callingRoutine | ) | [static] |
Definition at line 39 of file idxl.C.
References c, getNULL(), and IDXL_Abort().
Referenced by FORTRAN_AS_C_RETURN(), IDXL_Layout_List::get(), IDXL_Create(), and FEM_Comm_Holder::pup().


| IDXL_t IDXL_Chunk::addDynamic | ( | void | ) |
Dynamically create a new empty IDXL. Must eventually call destroy.
Dynamically create a new empty IDXL:.
Definition at line 108 of file idxl.C.
References IDXL::allocateDual(), dynamic_idxls, and storeToFreeIndex().
Referenced by IDXL_Create().


| IDXL_t IDXL_Chunk::addStatic | ( | IDXL * | idx, | |
| IDXL_t | at = -1 | |||
| ) |
Register this statically-allocated IDXL, possibly at this index.
Register this statically-allocated IDXL at this existing index.
Definition at line 115 of file idxl.C.
References CkVec< T >::push_back(), CkVec< T >::size(), static_idxls, and storeToFreeIndex().
Referenced by FEM_Comm_Holder::registerIdx().


| void IDXL_Chunk::check | ( | IDXL_t | u, | |
| const char * | callingRoutine = "" | |||
| ) | const |
Check this IDXL for validity.
Definition at line 137 of file idxl.C.
References IDXL_Abort().

| IDXL & IDXL_Chunk::lookup | ( | IDXL_t | u, | |
| const char * | callingRoutine = "" | |||
| ) |
Find this previously allocated IDXL:.
Definition at line 141 of file idxl.C.
References dynamic_idxls, IDXL_Abort(), CkVec< T >::size(), and static_idxls.
Referenced by FORTRAN_AS_C_RETURN(), and lookup().


| const IDXL & IDXL_Chunk::lookup | ( | IDXL_t | u, | |
| const char * | callingRoutine = "" | |||
| ) | const |
| void IDXL_Chunk::destroy | ( | IDXL_t | t, | |
| const char * | callingRoutine = "" | |||
| ) |
Done with this IDXL. Deallocates if a dynamic IDXL.
Definition at line 155 of file idxl.C.
References dynamic_idxls, IDXL_Abort(), CkVec< T >::size(), and static_idxls.
Referenced by FEM_Comm_Holder::~FEM_Comm_Holder().


Definition at line 180 of file idxl.C.
References currentComm, IDXL_Comm::isComplete(), mpi_comm, and IDXL_Comm::reset().
Referenced by IDXL_Comm_sendrecv().


| IDXL_Comm * IDXL_Chunk::lookupComm | ( | IDXL_Comm_t | uc, | |
| const char * | callingRoutine = "" | |||
| ) |
Definition at line 190 of file idxl.C.
References currentComm.
Referenced by IDXL_Comm_sendrecv().

| void IDXL_Chunk::waitComm | ( | IDXL_Comm * | comm | ) |
Definition at line 304 of file idxl.C.
References IDXL_Comm::wait().
Referenced by IDXL_Comm_sendrecv().


int IDXL_Chunk::mpi_comm [private] |
CkVec<IDXL *> IDXL_Chunk::static_idxls [private] |
"Static" index list is for system entities like the FEM framework that want to allocate and delete the lists themselves.
Stores IDXL_t's from IDXL_STATIC_IDXL_T to IDXL_LAST_IDXL_T
Definition at line 126 of file idxl.h.
Referenced by addStatic(), destroy(), and lookup().
CkVec<IDXL *> IDXL_Chunk::dynamic_idxls [private] |
"Dynamic" index list is for ordinary user-created lists, where this class manages their allocation and deallocation.
Stores IDXL_t's from IDXL_DYNAMIC_IDXL_T to IDXL_STATIC_IDXL_T
Definition at line 131 of file idxl.h.
Referenced by addDynamic(), destroy(), lookup(), pup(), and ~IDXL_Chunk().
IDXL_Comm* IDXL_Chunk::currentComm [private] |
Definition at line 147 of file idxl.h.
Referenced by addComm(), lookupComm(), pup(), and ~IDXL_Chunk().
1.5.5