rasdaman base DBMS
lists.h
Go to the documentation of this file.
1 /*
2 * This file is part of rasdaman community.
3 *
4 * Rasdaman community is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * Rasdaman community is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
18 rasdaman GmbH.
19 *
20 * For more information please see <http://www.rasdaman.org>
21 * or contact Peter Baumann via <baumann@rasdaman.com>.
22 */
23 #ifndef _LISTS_H_
24 #define _LISTS_H_
25 
26 #include <vector>
27 #include <set>
28 #include <map>
29 #include "relmddif/mddid.hh"
30 
31 class DBObject;
32 class OId;
33 class InlineMinterval;
34 class r_Minterval;
35 class KeyObject;
36 class IndexDS;
37 class HierIndexDS;
38 class Tile;
39 
40 #include "raslib/mddtypes.hh"
41 
42 //used to hold oids for indexes, blobs, and dbmintervals. no double entries
43 typedef std::set< OId, std::less< double > > OIdSet;
44 
45 //used to hold oids for indexes, blobs, and dbmintervals. no double entries
46 typedef std::set< const OId, std::less< double > > OIdConstSet;
47 
48 typedef std::vector<HierIndexDS*> HierIndexDSPVector;
49 
50 //used to hold DBObject*. e.g. in objectbroker to temporarily store them before deletion
51 typedef std::vector<DBObject*> DBObjectPVector;
52 
53 //used to hold DBObject*. e.g. in objectbroker to temporarily store them before deletion
54 typedef std::vector<const DBObject*> DBObjectPConstVector;
55 
56 //used to hold oids for indexes, blobs, and dbmintervals
57 typedef std::vector<OId> OIdVector;
58 
59 //used to hold oids for indexes, blobs, and dbmintervals
60 typedef std::vector<const OId> OIdConstVector;
61 
62 //holds type information on specific blobs which are stored in above oidlists
63 typedef std::vector<r_Data_Format> CompTypeVector;
64 
65 typedef std::vector<const InlineMinterval*> IntervalPConstVector;
66 
67 typedef std::vector<InlineMinterval*> IntervalPVector;
68 
69 typedef std::vector<const InlineMinterval> IntervalConstVector;
70 
71 typedef std::vector<InlineMinterval> IntervalVector;
72 
73 typedef std::vector<const KeyObject*> KeyObjectPConstVector;
74 
75 typedef std::vector<KeyObject*> KeyObjectPVector;
76 
77 typedef std::vector<const KeyObject> KeyObjectConstVector;
78 
79 typedef std::vector<KeyObject> KeyObjectVector;
80 
81 typedef std::vector<r_Minterval> DomainVector;
82 
83 typedef std::vector<r_Minterval*> DomainPVector;
84 
85 typedef std::vector<const r_Minterval*> DomainPConstVector;
86 
87 typedef std::vector<IndexDS*> IndexPVector;
88 
89 typedef std::vector<Tile*> TilePVector;
90 
91 typedef std::map< double, DBObject*, std::less<double> > DBObjectPMap;
92 typedef std::pair< double, DBObject* > DBObjectPPair;
93 typedef std::pair< const double, DBObject* > ConstDBObjectPPair;
94 
95 typedef std::map< double, const DBObject*, std::less<double> > DBObjectPConstMap;
96 typedef std::pair< double, const DBObject* > DBObjectPConstPair;
97 typedef std::pair< const double, const DBObject* > ConstDBObjectPConstPair;
98 
99 typedef std::map< double, OId, std::less<double> > OIdMap;
100 typedef std::pair< const double, OId > OIdPair;
101 typedef std::pair< const double, const OId > OIdConstPair;
102 
103 typedef std::map< double, r_Minterval, std::less<double> > DomainMap;
104 typedef std::pair< const double, r_Minterval > DomainPair;
105 typedef std::pair< const double, const r_Minterval > DomainConstPair;
106 #endif
std::vector< const DBObject * > DBObjectPConstVector
Definition: lists.h:54
std::vector< const InlineMinterval * > IntervalPConstVector
Definition: lists.h:65
std::map< double, OId, std::less< double > > OIdMap
Definition: lists.h:99
std::vector< InlineMinterval > IntervalVector
Definition: lists.h:71
std::vector< IndexDS * > IndexPVector
Definition: lists.h:87
std::vector< KeyObject > KeyObjectVector
Definition: lists.h:79
std::pair< double, DBObject * > DBObjectPPair
Definition: lists.h:92
std::map< double, DBObject *, std::less< double > > DBObjectPMap
Definition: lists.h:91
std::vector< Tile * > TilePVector
Definition: lists.h:89
std::map< double, r_Minterval, std::less< double > > DomainMap
Definition: lists.h:103
Definition: inlineminterval.hh:44
std::vector< const OId > OIdConstVector
Definition: lists.h:60
std::pair< const double, const r_Minterval > DomainConstPair
Definition: lists.h:105
std::vector< KeyObject * > KeyObjectPVector
Definition: lists.h:75
std::vector< const InlineMinterval > IntervalConstVector
Definition: lists.h:69
std::vector< r_Minterval * > DomainPVector
Definition: lists.h:83
Definition: oidif.hh:67
std::pair< double, const DBObject * > DBObjectPConstPair
Definition: lists.h:96
std::vector< HierIndexDS * > HierIndexDSPVector
Definition: lists.h:48
std::vector< InlineMinterval * > IntervalPVector
Definition: lists.h:67
std::vector< r_Data_Format > CompTypeVector
Definition: lists.h:63
std::pair< const double, OId > OIdPair
Definition: lists.h:100
std::pair< const double, const OId > OIdConstPair
Definition: lists.h:101
std::map< double, const DBObject *, std::less< double > > DBObjectPConstMap
Definition: lists.h:95
std::vector< const KeyObject * > KeyObjectPConstVector
Definition: lists.h:73
std::vector< const r_Minterval * > DomainPConstVector
Definition: lists.h:85
std::vector< r_Minterval > DomainVector
Definition: lists.h:81
std::pair< const double, const DBObject * > ConstDBObjectPConstPair
Definition: lists.h:97
std::vector< DBObject * > DBObjectPVector
Definition: lists.h:51
std::set< OId, std::less< double > > OIdSet
Definition: lists.h:38
std::vector< const KeyObject > KeyObjectConstVector
Definition: lists.h:77
std::pair< const double, DBObject * > ConstDBObjectPPair
Definition: lists.h:93
std::vector< OId > OIdVector
Definition: lists.h:57
std::set< const OId, std::less< double > > OIdConstSet
Definition: lists.h:46
std::pair< const double, r_Minterval > DomainPair
Definition: lists.h:104
Definition: dbobject.hh:54