Site hosted by Angelfire.com: Build your free website today!
Página principal | Lista de namespace | Lista de archivos | Archivos de los miembros

ADH_port.h

Ir a la documentación de este archivo.
00001 // ADH_port.h (c) 2005 adolfo@di-mare.com
00002 
00140 #ifndef ADH_port_h
00141 #define ADH_port_h 
00142 
00143 // Documentados acá para Doxygen
00144 #undef  CLOSE_namespace
00145 #undef  USING_namespace
00146 #undef  OPEN_namespace
00147 
00149 #define OPEN_namespace(N) namespace N {
00150 
00152 #define CLOSE_namespace(N) }
00153 
00155 #define USING_namespace(N) using namespace N
00156 
00157 // Los anula para luego definirlos dentro del #ifdef correcto
00158 #undef  CLOSE_namespace
00159 #undef  USING_namespace
00160 #undef  OPEN_namespace
00161 
00162 #ifdef DOXYGEN_COMMENT   // Documentados acá para Doxygen
00163 
00164     namespace std {} // Está acá para que Doxygen lo documente
00166     namespace ADH {} // Está acá para que Doxygen lo documente
00167     #define INCLUDE_fstream   Truco para "include <fstream>"   portable
00168     #define INCLUDE_io        Truco para "include <io>"        portable
00169     #define INCLUDE_iomanip   Truco para "include <iomanip>"   portable
00170     #define INCLUDE_iostream  Truco para "include <iostream>"  portable
00171     #define INCLUDE_list      Truco para "include <list>"      portable
00172     #define INCLUDE_map       Truco para "include <map>"       portable
00173     #define INCLUDE_stdexcept Truco para "include <stdexcept>" portable
00174     #define INCLUDE_vector    Truco para "include <vector>"    portable
00175 #endif
00176 
00177 // Borland C++
00178 #ifdef __BORLANDC__               
00179     #if (__BORLANDC__ <= 0x0410)  //   Identifica a BC++ v3.1 y anterior
00180         #undef false
00181         #undef true
00182         #undef bool
00183 
00184         // Declara el tipo "bool" porque BC++ v3.1 NO tiene "bool"
00185         typedef int bool;
00186         const int false = 0;
00187         const int true  = ! false; // BC++ v3.1 NO tiene "bool"
00188 
00189         class istream; class ostream;
00190 
00191         #define using              // BC++ v3.1 NO tiene "namespace"
00192         #define namespace
00193         #define std
00194         #define ADH
00195 
00196         #define OPEN_namespace(N)  // BC++ v3.1 NO tiene "namespace"
00197         #define CLOSE_namespace(N)
00198         #define USING_namespace(N)
00199 
00200         #ifdef INCLUDE_fstream
00201             #include  <fstream.h>
00202         #endif
00203         #ifdef INCLUDE_io
00204             #include  <io.h>
00205         #endif
00206         #ifdef INCLUDE_iomanip
00207             #include  <iomanip.h>
00208         #endif
00209         #ifdef INCLUDE_iostream
00210             #include  <iostream.h>
00211         #endif
00212         #ifdef INCLUDE_list
00213             #include  <list.h>
00214         #endif
00215         #ifdef INCLUDE_map
00216             #include  <map.h>
00217         #endif
00218         #ifdef INCLUDE_stdexcept
00219             #include  <stdexcept.h>
00220         #endif
00221         #ifdef INCLUDE_vector
00222             #include  <vector.h>
00223         #endif
00224     #endif
00225 
00226     #if (__BORLANDC__ >  0x0410)  // Versiones posteriores a BC++ v3.1
00227         #define OPEN_namespace(N) namespace N {
00228         #define CLOSE_namespace(N) }
00229         #define USING_namespace(N) using namespace N
00230         #error Ajuste ADH_port.h para compìlar con versiones nuevas de BC++
00231     #endif
00232 #endif
00233 
00234 // Microsoft C++ (Visual Studio)
00235 #ifdef _MSC_VER                   
00236     // namespace
00237     #define OPEN_namespace(N) namespace N {
00238     #define CLOSE_namespace(N) }
00239     #define USING_namespace(N) using namespace N
00240 
00241     #if (_MSC_VER >= 1300)        //   Identifica a VC++ .net
00242 
00243         namespace std {} // Está acá para que Doxygen lo documente
00244         using namespace std;
00245 
00246         #ifdef INCLUDE_fstream
00247             #include  <fstream>
00248         #endif
00249         #ifdef INCLUDE_io
00250             #include  <io>
00251         #endif
00252         #ifdef INCLUDE_iomanip
00253             #include  <iomanip>
00254         #endif
00255         #ifdef INCLUDE_iostream
00256             #include  <iostream>
00257         #endif
00258         #ifdef INCLUDE_list
00259             #include  <list>
00260         #endif
00261         #ifdef INCLUDE_map
00262             #include  <map>
00263         #endif
00264         #ifdef INCLUDE_stdexcept
00265             #include  <stdexcept>
00266         #endif
00267         #ifdef INCLUDE_vector
00268             #include  <vector>
00269         #endif
00270     #endif
00271 
00272     #if (_MSC_VER < 1300)         //   Identifica a VC++ v6 y anterior
00273         namespace std {} // Está acá para que Doxygen lo documente
00274         // Antes de MSC++ .NET hay que usar <.h>
00275         #ifdef INCLUDE_fstream
00276             #include  <fstream.h>
00277         #endif
00278         #ifdef INCLUDE_io
00279             #include  <io.h>
00280         #endif
00281         #ifdef INCLUDE_iomanip
00282             #include  <iomanip.h>
00283         #endif
00284         #ifdef INCLUDE_iostream
00285             #include  <iostream.h>
00286         #endif
00287         #ifdef INCLUDE_list
00288             #include  <list.h>
00289         #endif
00290         #ifdef INCLUDE_map
00291             #include  <map.h>
00292         #endif
00293         #ifdef INCLUDE_stdexcept
00294             #include  <stdexcept.h>
00295         #endif
00296         #ifdef INCLUDE_vector
00297             #include  <vector.h>
00298         #endif
00299     #endif
00300 #endif
00301 
00302 #endif // ADH_port_h
00303 
00304 // EOF: ADH_port.h

Generado el Fri Aug 26 14:42:28 2005 para A33018 Tarea Programada #2 por  doxygen 1.4.1