src/Resource/Types.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2008 by Sverre Rabbelier                                *
00003  *   sverre@rabbelier.nl                                                   *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 3 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU General Public License     *
00016  *   along with this program; if not, write to the                         *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  ***************************************************************************/
00020 
00021 #pragma once
00022 
00028 #include <string>
00029 #include <vector>
00030 #include <map>
00031 #include <stdexcept>
00032 #include <set>
00033 
00034 #include <sqlite3.h>
00035 
00036 #include "smart_ptr.h"
00037 #include "singleton.h"
00038 #include "Exceptions.h"
00039 #include "Assert.h"
00040 
00042 typedef unsigned long value_type;
00043 
00045 typedef std::set<value_type> value_types;
00046 
00048 typedef const std::string& cstring;
00049 
00051 typedef std::vector<std::string> Strings;
00052 
00053 
00054 class Table;
00055 typedef SmartPtr<Table> TablePtr; 
00056 typedef std::vector<TablePtr> TableVector; 
00058 class TableDef;
00059 typedef SmartPtr<TableDef> TableDefPtr; 
00060 typedef std::vector<TableDefPtr> TableDefVector; 
00062 class TableImpl;
00063 typedef SmartPtr<TableImpl> TableImplPtr; 
00064 typedef std::vector<TableImplPtr> TableImplVector; 
00066 class KeyDef;
00067 typedef SmartPtr<KeyDef> KeyDefPtr; 
00068 typedef std::vector<KeyDefPtr> KeyDefs; 
00070 class KeyImpl;
00071 typedef SmartPtr<KeyImpl> KeyImplPtr; 
00072 typedef std::vector<KeyImplPtr> KeyImpls; 
00074 class KeyValue;
00075 typedef SmartPtr<KeyValue> KeyValuePtr; 
00077 class Field;
00078 typedef SmartPtr<Field> FieldPtr; 
00079 typedef std::vector<FieldPtr> FieldVector; 
00081 class FieldDef;
00082 typedef SmartPtr<FieldDef> FieldDefPtr; 
00083 typedef std::vector<FieldDefPtr> FieldDefVector; 
00085 class FieldImpl;
00086 typedef SmartPtr<FieldImpl> FieldImplPtr; 
00087 typedef std::vector<FieldImplPtr> FieldImplVector; 
00089 class FieldValue;
00090 typedef SmartPtr<FieldValue> ValuePtr; 
00091 typedef SmartPtr<FieldValue> FieldValuePtr; 
00100 typedef std::map<std::string, TablePtr> TableMap;
00101 
00103 typedef std::map<KeyImpl*, KeyValuePtr> KeyImplMap;
00104 
00106 typedef std::map<FieldImpl*, ValuePtr> FieldValueMap;
00107 
00109 typedef std::map<FieldImpl*, ValuePtr> ValueMap;
00110 
00111 
00112 class Keys;
00113 typedef SmartPtr<Keys> KeysPtr; 
00115 class FieldValues;
00116 typedef SmartPtr<FieldValues> ValuesPtr; 
00117 typedef SmartPtr<FieldValues> FieldValuesPtr; 
00119 class SavableManagers;
00120 typedef SmartPtr<SavableManagers> SavableManagersPtr; 
00123 class SavableManager;
00124 typedef SmartPtr<SavableManager> SavableManagerPtr; 
00125 typedef std::vector<SavableManagerPtr> SavableManagerVector; 
00127 class SelectionMask;
00128 typedef SmartPtr<SelectionMask> SelectionMaskPtr; 
00130 class Relation;
00131 typedef SmartPtr<Relation> RelationPtr; 
00132 typedef std::vector<RelationPtr> Relations; 
00134 class Join;
00135 typedef SmartPtr<Join> JoinPtr; 
00136 typedef std::vector<JoinPtr> Joins; 
00138 class Actor;
00139 typedef SmartPtr<Actor> ActorPtr; 
00141 class UBSocket;
00142 
00143 class Savable;
00144 typedef SmartPtr<Savable> SavablePtr; 

Generated for UnsignedByte by  doxygen 1.5.3
SourceForge.net Logo