Class StreamableManager is a singleton manager class that organizes the actual packing and unpacking of concrete Streamable objects for SAMRAI::tbox::AbstractStream based communication.
More...
#include <ibtk/StreamableManager.h>
◆ StreamableFactoryMap
◆ StreamableManager() [1/2]
| IBTK::StreamableManager::StreamableManager |
( |
| ) |
|
|
protected |
◆ ~StreamableManager()
| IBTK::StreamableManager::~StreamableManager |
( |
| ) |
|
|
protected |
◆ StreamableManager() [2/2]
- Note
- This constructor is not implemented and should not be used.
- Parameters
-
| from | The value to copy to this object. |
◆ getManager()
Return a pointer to the instance of the Streamable manager. All access to the singleton StreamableManager object is through the getManager() function.
Note that when the manager is accessed for the first time, the freeManager static method is registered with the ShutdownRegistry class. Consequently, an allocated manager is freed at program completion. Thus, users of this class do not explicitly allocate or deallocate the manager instances.
- Returns
- A pointer to the data manager instance.
◆ freeManager()
| static void IBTK::StreamableManager::freeManager |
( |
| ) |
|
|
static |
Deallocate the StreamableManager instance.
It is not necessary to call this function at program termination, since it is automatically called by the ShutdownRegistry class.
◆ getUnregisteredID()
| static int IBTK::StreamableManager::getUnregisteredID |
( |
| ) |
|
|
static |
◆ checkFactoryRegistration()
Check to see if a StreamableFactory has been registered with the manager.
- Returns
- true if the factory has been registered, false otherwise.
- Note
- This method simply checks to see if a StreamableFactory with the same Streamable ID has been registered with the manager. Every different Streamable/StreamableFactory type must have a unique ID.
◆ registerFactory()
Register a StreamableFactory with the manager.
Each factory object registered with the manager is provided with a unique ID.
- Note
- To ensure that each MPI process uses the same streamable ID for each streamable class registered with the manager, this method is collective on all MPI processes!
◆ getDataStreamSize() [1/2]
◆ getDataStreamSize() [2/2]
◆ packStream() [1/2]
◆ packStream() [2/2]
◆ unpackStream() [1/2]
◆ unpackStream() [2/2]
◆ createUniqueID()
| static int IBTK::StreamableManager::createUniqueID |
( |
| ) |
|
|
staticprotected |
Generate a unique ID number.
Every call to createUniqueID() returns a different integer, simplifying the task of generating ID numbers for StreamableFactory objects.
◆ operator=()
- Note
- This operator is not implemented and should not be used.
- Parameters
-
| that | The value to assign to this object. |
- Returns
- A reference to this object.
◆ s_data_manager_instance
Static data members used to control access to and destruction of singleton data manager instance.
◆ s_registered_callback
| bool IBTK::StreamableManager::s_registered_callback |
|
staticprivate |
◆ s_shutdown_priority
| unsigned char IBTK::StreamableManager::s_shutdown_priority |
|
staticprivate |
◆ s_current_id_number
| int IBTK::StreamableManager::s_current_id_number |
|
staticprivate |
Static data members used to simplify the process of assigning unique ID numbers to each registered StreamableFactory object.
◆ s_unregistered_id_number
| const int IBTK::StreamableManager::s_unregistered_id_number |
|
staticprivate |
◆ d_factory_map
The documentation for this class was generated from the following files: