OpenMPI  0.1.1
vt_unify_tkfac.h
1 /**
2  * VampirTrace
3  * http://www.tu-dresden.de/zih/vampirtrace
4  *
5  * Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
6  *
7  * Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
8  * Centre, Federal Republic of Germany
9  *
10  * See the file COPYING in the package base directory for details
11  **/
12 
13 #ifndef _VT_UNIFY_TKFAC_H_
14 #define _VT_UNIFY_TKFAC_H_
15 
16 #include "config.h"
17 
18 #include "vt_unify_defs_recs.h"
19 #include "vt_unify_tkfac_scope.h"
20 
21 //
22 // TokenFactory class
23 //
25 {
26 public:
27 
28  // constructor
29  TokenFactoryC();
30 
31  // destructor
32  ~TokenFactoryC();
33 
34  // add scope instance of certain def. record type
35  void addScope( const DefRecTypeT & type, TokenFactoryScopeI * scope );
36 
37  // delete scope instance for certain def. record type
38  void deleteScope( const DefRecTypeT & type );
39 
40  // get scope instance for certain def. record type
41  TokenFactoryScopeI * getScope( const DefRecTypeT & type ) const;
42 
43 #ifdef VT_MPI
44 
45  // distribute token translation tables
46  bool distTranslations( const VT_MPI_INT & destRank = 0,
47  const bool wait = false );
48 
49 #endif // VT_MPI
50 
51 private:
52 
53  // map def. type <-> scope
54  std::map<DefRecTypeT, TokenFactoryScopeI*> m_def2scope;
55 
56 };
57 
58 // instance of class TokenFactory
59 extern TokenFactoryC * theTokenFactory;
60 
61 #endif // _VT_UNIFY_TKFAC_H_
VampirTrace http://www.tu-dresden.de/zih/vampirtrace.
Definition: vt_unify_tkfac.h:24
VampirTrace http://www.tu-dresden.de/zih/vampirtrace.
Definition: vt_unify_tkfac_scope.h:28