/* * This file is part of rasdaman community. * * Rasdaman community is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Rasdaman community is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rasdaman community. If not, see . * * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / rasdaman GmbH. * * For more information please see * or contact Peter Baumann via . */ #ifndef _LISTS_H_ #define _LISTS_H_ #include #include #include #include "relmddif/mddid.hh" class DBObject; class OId; class InlineMinterval; class r_Minterval; class KeyObject; class IndexDS; class HierIndexDS; class Tile; #include "raslib/mddtypes.hh" //used to hold oids for indexes, blobs, and dbmintervals. no double entries typedef std::set< OId, std::less< double > > OIdSet; //used to hold oids for indexes, blobs, and dbmintervals. no double entries typedef std::set< const OId, std::less< double > > OIdConstSet; typedef std::vector HierIndexDSPVector; //used to hold DBObject*. e.g. in objectbroker to temporarily store them before deletion typedef std::vector DBObjectPVector; //used to hold DBObject*. e.g. in objectbroker to temporarily store them before deletion typedef std::vector DBObjectPConstVector; //used to hold oids for indexes, blobs, and dbmintervals typedef std::vector OIdVector; //used to hold oids for indexes, blobs, and dbmintervals typedef std::vector OIdConstVector; //holds type information on specific blobs which are stored in above oidlists typedef std::vector CompTypeVector; typedef std::vector IntervalPConstVector; typedef std::vector IntervalPVector; typedef std::vector IntervalConstVector; typedef std::vector IntervalVector; typedef std::vector KeyObjectPConstVector; typedef std::vector KeyObjectPVector; typedef std::vector KeyObjectConstVector; typedef std::vector KeyObjectVector; typedef std::vector DomainVector; typedef std::vector DomainPVector; typedef std::vector DomainPConstVector; typedef std::vector IndexPVector; typedef std::vector TilePVector; typedef std::map< double, DBObject*, std::less > DBObjectPMap; typedef std::pair< double, DBObject* > DBObjectPPair; typedef std::pair< const double, DBObject* > ConstDBObjectPPair; typedef std::map< double, const DBObject*, std::less > DBObjectPConstMap; typedef std::pair< double, const DBObject* > DBObjectPConstPair; typedef std::pair< const double, const DBObject* > ConstDBObjectPConstPair; typedef std::map< double, OId, std::less > OIdMap; typedef std::pair< const double, OId > OIdPair; typedef std::pair< const double, const OId > OIdConstPair; typedef std::map< double, r_Minterval, std::less > DomainMap; typedef std::pair< const double, r_Minterval > DomainPair; typedef std::pair< const double, const r_Minterval > DomainConstPair; #endif