OGS
GlobalMatrixProviders.cpp
Go to the documentation of this file.
1 
11 #include "GlobalMatrixProviders.h"
12 
13 #include <memory>
14 
16 
17 // Initializes the static members of the structs in the header file
18 // associated with this file.
19 #define INITIALIZE_GLOBAL_MATRIX_VECTOR_PROVIDER(VARNAME) \
20  static std::unique_ptr<NumLib::SimpleMatrixVectorProvider> VARNAME{ \
21  new NumLib::SimpleMatrixVectorProvider}; \
22  \
23  namespace NumLib \
24  { \
25  VectorProvider& GlobalVectorProvider::provider = *(VARNAME); \
26  \
27  MatrixProvider& GlobalMatrixProvider::provider = *(VARNAME); \
28  }
29 
30 INITIALIZE_GLOBAL_MATRIX_VECTOR_PROVIDER(globalSetupGlobalMatrixVectorProvider)
31 
32 namespace NumLib
33 {
35 {
36  globalSetupGlobalMatrixVectorProvider.reset();
37 }
38 } // namespace NumLib
#define INITIALIZE_GLOBAL_MATRIX_VECTOR_PROVIDER(VARNAME)
void cleanupGlobalMatrixProviders()