ARB
ps_defs.hxx
Go to the documentation of this file.
1 #ifndef PS_DEFS_HXX
2 #define PS_DEFS_HXX
3 
4 #ifndef _GLIBCXX_MAP
5 #include <map>
6 #endif
7 #ifndef _GLIBCXX_SET
8 #include <set>
9 #endif
10 #ifndef _GLIBCXX_VECTOR
11 #include <vector>
12 #endif
13 #ifndef _GLIBCXX_STRING
14 #include <string>
15 #endif
16 
17 typedef int SpeciesID;
18 
19 // ----------------------------------------------------------------
20 // SpeciesID <-> shortname mapping
21 
22 typedef std::map<std::string, SpeciesID> Name2IDMap;
23 typedef Name2IDMap::iterator Name2IDMapIter;
24 typedef Name2IDMap::const_iterator Name2IDMapCIter;
25 typedef std::map<SpeciesID, std::string> ID2NameMap;
26 typedef ID2NameMap::iterator ID2NameMapIter;
27 typedef ID2NameMap::const_iterator ID2NameMapCIter;
28 
29 // ----------------------------------------------------------------
30 // SpeciesID list (as vector)
31 
32 typedef std::vector<SpeciesID> IDVector;
33 typedef IDVector::iterator IDVectorIter;
34 typedef IDVector::const_iterator IDVectorCIter;
35 
36 // ----------------------------------------------------------------
37 // SpeciesID list (as set)
38 
39 typedef std::set<SpeciesID> IDSet;
40 typedef IDSet::iterator IDSetIter;
41 typedef IDSet::const_iterator IDSetCIter;
42 
43 // ----------------------------------------------------------------
44 // SpeciesID <-> SpeciesID (as map)
45 
46 typedef std::map<SpeciesID, SpeciesID> ID2IDMap;
47 typedef ID2IDMap::iterator ID2IDMapIter;
48 typedef ID2IDMap::const_iterator ID2IDMapCIter;
49 
50 // ----------------------------------------------------------------
51 // SpeciesID <-> SpeciesID (as set)
52 
53 typedef std::pair<SpeciesID, SpeciesID> ID2IDPair;
54 typedef std::set<ID2IDPair> ID2IDSet;
55 typedef ID2IDSet::iterator ID2IDSetIter;
56 typedef ID2IDSet::const_iterator ID2IDSetCIter;
57 
58 // ----------------------------------------------------------------
59 // (SpeciesID,SpeciesID) <-> set of SpeciesID (as map)
60 
61 typedef std::map<ID2IDPair, IDSet> IDID2IDSetMap;
62 typedef IDID2IDSetMap::iterator IDID2IDSetMapIter;
63 typedef IDID2IDSetMap::const_iterator IDID2IDSetMapCIter;
64 
65 struct PS_Callback {
66  virtual ~PS_Callback() {}
67  virtual void callback(void *_caller) = 0;
68 };
69 
70 #else
71 #error ps_defs.hxx included twice
72 #endif
Name2IDMap::const_iterator Name2IDMapCIter
Definition: ps_defs.hxx:24
std::map< ID2IDPair, IDSet > IDID2IDSetMap
Definition: ps_defs.hxx:61
IDVector::const_iterator IDVectorCIter
Definition: ps_defs.hxx:34
IDID2IDSetMap::const_iterator IDID2IDSetMapCIter
Definition: ps_defs.hxx:63
std::set< SpeciesID > IDSet
Definition: ps_defs.hxx:39
ID2IDSet::iterator ID2IDSetIter
Definition: ps_defs.hxx:55
int SpeciesID
Definition: ps_defs.hxx:17
ID2IDMap::const_iterator ID2IDMapCIter
Definition: ps_defs.hxx:48
ID2NameMap::iterator ID2NameMapIter
Definition: ps_defs.hxx:26
virtual void callback(void *_caller)=0
IDVector::iterator IDVectorIter
Definition: ps_defs.hxx:33
std::map< SpeciesID, SpeciesID > ID2IDMap
Definition: ps_defs.hxx:46
virtual ~PS_Callback()
Definition: ps_defs.hxx:66
IDID2IDSetMap::iterator IDID2IDSetMapIter
Definition: ps_defs.hxx:62
std::set< ID2IDPair > ID2IDSet
Definition: ps_defs.hxx:54
ID2IDSet::const_iterator ID2IDSetCIter
Definition: ps_defs.hxx:56
ID2IDMap::iterator ID2IDMapIter
Definition: ps_defs.hxx:47
std::map< std::string, SpeciesID > Name2IDMap
Definition: ps_defs.hxx:22
Name2IDMap::iterator Name2IDMapIter
Definition: ps_defs.hxx:23
IDSet::iterator IDSetIter
Definition: ps_defs.hxx:40
std::vector< SpeciesID > IDVector
Definition: ps_defs.hxx:32
ID2NameMap::const_iterator ID2NameMapCIter
Definition: ps_defs.hxx:27
std::pair< SpeciesID, SpeciesID > ID2IDPair
Definition: ps_defs.hxx:53
std::map< SpeciesID, std::string > ID2NameMap
Definition: ps_defs.hxx:25
IDSet::const_iterator IDSetCIter
Definition: ps_defs.hxx:41