|
EpetraExt Development
|
00001 //------------------------------------------------------------------------- 00002 // Copyright Notice 00003 // 00004 // Copyright (c) 2000, Sandia Corporation, Albuquerque, NM. 00005 //------------------------------------------------------------------------- 00006 00007 //------------------------------------------------------------------------- 00008 // Filename : $Zoltan_MigrationContainer.h$ 00009 // 00010 // Purpose : Static Container object to allow Static (C-style) 00011 // functions to access methods of dynamic objects. 00012 // 00013 // Special Notes : 00014 // 00015 // Creator : Robert J. Hoekstra 00016 // 00017 // Creation Date : 08/04/2000 00018 // 00019 // Revision Information: 00020 // --------------------- 00021 // 00022 // Revision Number: $$ 00023 // 00024 // Revision Date : $$ 00025 // 00026 // Current Owner : $$ 00027 //------------------------------------------------------------------------- 00028 00029 #ifndef ZOLTAN_MIGRATIONCONTAINER_H_ 00030 #define ZOLTAN_MIGRATIONCONTAINER_H_ 00031 00032 #include <EpetraExt_ConfigDefs.h> 00033 00034 #include <map> 00035 00036 namespace Zoltan { 00037 00038 class MigrationObject; 00039 00040 class MigrationContainer 00041 { 00042 00043 public: 00044 00045 static void setMigrationID( const int & id ); 00046 00047 static const int & getMigrationID(); 00048 00049 static bool registerMigrationObject( const int & id, 00050 MigrationObject * obj_ptr ); 00051 00052 static MigrationObject * getMigrationObject( const int & id ); 00053 00054 private: 00055 00056 static int CurrentObject; 00057 00058 static std::map< int, MigrationObject * > StaticMap; 00059 00060 }; 00061 00062 } //namespace Zoltan 00063 00064 #endif
1.7.4