comun.hpp

Ir a la documentación de este archivo.
00001 
00012 #if !defined(Comun_hpp)
00013 #define Comun_hpp
00014 
00015 #include <set>
00016 #include <string>
00017 #include <ostream>
00018 #include <sstream>
00019 
00020 #ifdef ASSERT
00021 #undef ASSERT
00022 #endif
00023 #ifdef NDEBUG
00024 #define ASSERT(x) ((void)0)
00025 #warning NDEBUG activo compilando sin ASSERT
00026 #else
00027 #define ASSERT(x) \
00028   if (! (x)) \
00029   { \
00030     stringstream _sa; _sa.clear(); _sa.str(""); \
00031     _sa << __FILE__ << ":" << __LINE__ << "Falló aserción " << #x << " \n"; \
00032     throw std::string(_sa.str()); \
00033   }
00034 #endif
00035 
00037 const unsigned int MAXLURL = 1024;
00038 
00040 const unsigned int MAXLCONDENSADO = 64;
00041 
00044 const unsigned int MAXLHEX = 8;
00045 
00049 const int MAXL128B = 5;
00050 
00054 const int MAXLNUMERO = MAXL128B;
00055 
00058 const int MAXLDEC = 10;
00059 
00061 const unsigned int MAXCAD = 32;
00062 
00063 using namespace std;
00064 
00066 const string MARCAIND = "Mt77:índiceP5";
00067 
00068 
00070 const string MARCAREL = "Mt77:relaciónP5";
00071 
00072 
00074 const char FINCADENA = '{';
00075 
00082 void verificaNombre(const char *na, char *nrel);
00083 
00084 
00092 template <class T>
00093 std::ostream &
00094 operator<<(std::ostream &os, set<T> c)
00095 {
00096         os <<"{";
00097         typename set<T>::iterator i;
00098         string sep = "";
00099         for (i = c.begin(); i != c.end(); i++) {
00100                 os << sep << *i;
00101                 sep = ", ";
00102         }
00103         os <<"}";
00104         return os;
00105 }
00106 
00112 string prefijo_comun_mas_largo(string a, string b);
00113 
00120 std::string errorFormato(std::istream &is, string m);
00121 
00126 string leeCad(istream &is) throw(string);
00127 
00132 long leeHex(std::istream &is) throw(string);
00133 
00134 
00140 void escribeHex(std::ostream &os, unsigned long n);
00141 
00148 long lee128b(std::istream &is) throw(string);
00149 
00150 
00157 void escribe128b(std::ostream &os, unsigned long n);
00158 
00164 string n128b_c(unsigned long n);
00165 
00171 unsigned long c_n128b(string s);
00172 
00179 inline unsigned int
00180 long128b(unsigned long n)
00181 {
00182         return MAXL128B;
00183 }
00184 
00185 
00190 inline long
00191 leeNDesp(std::istream &is) throw (std::string)
00192 {
00193         return lee128b(is);
00194 }
00195 
00196 
00202 inline void
00203 escribeNDesp(std::ostream &os, unsigned long n)
00204 {
00205         escribe128b(os, n);
00206 }
00207 
00208 
00212 inline unsigned int
00213 longNDesp(unsigned long n)
00214 {
00215         return MAXL128B;
00216 }
00217 
00218 
00224 string normalizaCaracter(char c);
00225 
00231 string normaliza(string s);
00232 
00245 int car_utf8_a_latin1(const char *u8, char *latin1);
00246 
00255 string utf8_a_latin1(const char *u8, int len);
00256 
00264 vector<string> estalla(const string &delimitador, const string &cad);
00265 
00266 
00272 string directorio_temp();
00273 
00274 
00275 #endif

Generado el Wed Jan 6 06:58:21 2010 para Mt77 por  doxygen 1.5.4