Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

boss_types.h

Go to the documentation of this file.
00001 /* boss_types.cpp    $Revision: 1.2 $ $Date: 2005/12/10 20:33:54 $
00002    Copyright (C) 1999 University of Bonn.
00003    http://www.ikp.uni-bonn.de/boss
00004 
00005    This program is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU General Public License
00007    as published by the Free Software Foundation; either version 2
00008    of the License, or (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 Free Software
00017    Foundation, Inc., 59 Temple Place - Suite 330,
00018    Boston, MA  02111-1307, USA.
00019 */
00020 
00026 #ifndef __BOSS_TYPESH__
00027 #define __BOSS_TYPESH__
00028 
00029 using namespace std;
00030 
00031 // Standard includes
00032 #include <string>
00033 #include <vector>
00034 #include <iostream>
00035 
00036 namespace BOSS
00037 {
00038 
00039 // Short cuts for basic types
00040 typedef unsigned char       t_UChar;
00041 typedef unsigned short      t_UShort;
00042 typedef unsigned int        t_UInt;
00043 
00044 // Enum section
00045 
00046 // Pair section
00047 typedef pair< string, string >     t_SSPair;
00048 typedef pair< unsigned, string >   t_USPair;
00049 typedef pair< unsigned, unsigned > t_UUPair;
00050 typedef pair< t_UChar, string >    t_CSPair;
00051 typedef pair< t_UChar, t_UChar >   t_CCPair;
00052 
00053 // Vector section
00054 typedef vector< string >            t_SVector;
00055 typedef vector< unsigned >          t_UVector;
00056 typedef vector< t_USPair >          t_USPairVector;
00057 typedef vector< t_SSPair >          t_SSPairVector;
00058 typedef vector< t_UUPair >          t_UUPairVector;
00059 
00060 // Iterator section
00061 typedef t_UVector::iterator         t_UVectorIt;
00062 typedef t_UVector::const_iterator   t_UVectorCIt;
00063 // Map section
00064 
00065 // Mixed section
00066 
00067 /* A struct for storing file information (path, name, extension) */
00068 
00069   struct Fileinfo {
00070     string path;
00071     string base;
00072     string ext;
00073   };
00074 }
00075 
00076 // Comparing operators
00077 bool operator < (const BOSS::t_CCPair & a, const BOSS::t_CCPair & b);
00078 
00079 // Stream operator prototypes
00080 ostream & operator << (ostream & out, const BOSS::t_SSPair & p);
00081 istream & operator >> (istream & in,  BOSS::t_SSPair & p);
00082 
00083 ostream & operator << (ostream & out, const BOSS::t_USPair & p);
00084 istream & operator >> (istream & in,  BOSS::t_USPair & p);
00085 
00086 ostream & operator << (ostream & out, const BOSS::t_CSPair & p);
00087 istream & operator >> (istream & in,  BOSS::t_CSPair & p);
00088 
00089 ostream & operator << (ostream & out, const BOSS::t_CCPair & p);
00090 istream & operator >> (istream & in,  BOSS::t_CCPair & p);
00091 
00092 #endif

Generated on Tue Dec 20 23:14:38 2005 for BOSS by doxygen 1.3.6