Changeset 3836 in Sophya for trunk


Ignore:
Timestamp:
Aug 5, 2010, 3:23:35 PM (15 years ago)
Author:
ansari
Message:

Declaration extern des classes templ des classes template avec instantiation explicite (avec flag NEED_EXT_DECL_TEMP) pour regler le pb de dynamic_cast sur Mac OS X 10.6, Reza 05/08/2010

Location:
trunk/SophyaLib
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/NTools/cimage.cc

    r3667 r3836  
    88#include <stdlib.h>
    99#include "pexceptions.h"
    10 #include "cimage.h"
    1110#include "datatype.h"
    1211#include <typeinfo>
     12
     13#define CIMAGE_CC_BFILE  // avoid extern template declarations
     14#include "cimage.h"
    1315
    1416/*!
  • trunk/SophyaLib/NTools/cimage.h

    r3189 r3836  
    138138};
    139139
     140
     141//--------- extern template declarations (if needed) -----------
     142#if defined ( NEED_EXT_DECL_TEMP ) && !defined( CIMAGE_CC_BFILE )
     143extern template class Image<uint_1>;
     144extern template class Image<uint_2>;
     145extern template class Image<uint_4>;
     146extern template class Image<uint_8>;
     147extern template class Image<int_1>;
     148extern template class Image<int_2>;
     149extern template class Image<int_4>;
     150extern template class Image<int_8>;
     151extern template class Image<r_4>;
     152extern template class Image<r_8>;
     153extern template class Image< complex<r_4> >;
     154extern template class Image< complex<r_8> >;
     155#endif  // Fin de if defined ( NEED_EXT_DECL_TEMP )
     156
    140157}  // End of namespace SOPHYA
    141158
  • trunk/SophyaLib/SkyMap/localmap.cc

    r3572 r3836  
    11#include "sopnamsp.h"
    2 #include "localmap.h"
    32#include "smathconst.h"
    43#include <complex>
    54#include "fiondblock.h"
     5
     6#define LOCALMAP_CC_BFILE  // avoid extern template declarations
     7#include "localmap.h"
    68
    79#include <string.h>
  • trunk/SophyaLib/SkyMap/localmap.h

    r3174 r3836  
    352352    return result; }
    353353
     354//--------- extern template declarations (if needed) -----------
     355#if defined ( NEED_EXT_DECL_TEMP ) && !defined( LOCALMAP_CC_BFILE )
     356extern template class LocalMap<int_4>;
     357extern template class LocalMap<r_8>;
     358extern template class LocalMap<r_4>;
     359extern template class LocalMap< complex<r_8> >;
     360extern template class LocalMap< complex<r_4> >;
     361#endif  // Fin de if defined ( NEED_EXT_DECL_TEMP )
     362
    354363
    355364
  • trunk/SophyaLib/SkyMap/sphereecp.cc

    r3515 r3836  
    11#include "sopnamsp.h"
     2#include <math.h>
     3
     4#define SPHEREECP_CC_BFILE  // avoid extern template declarations
    25#include "sphereecp.h"
    3 #include <math.h>
    46
    57/*!
  • trunk/SophyaLib/SkyMap/sphereecp.h

    r3506 r3836  
    161161};
    162162
     163//--------- extern template declarations (if needed) -----------
     164#if defined ( NEED_EXT_DECL_TEMP ) && !defined( SPHEREECP_CC_BFILE )
     165extern template class SphereECP<int_4>;
     166extern template class SphereECP<r_4>;
     167extern template class SphereECP<r_8>;
     168extern template class SphereECP< complex<r_4> >;
     169extern template class SphereECP< complex<r_8> >;
     170#endif  // Fin de if defined ( NEED_EXT_DECL_TEMP )
     171
    163172
    164173}// Fin du namespace
  • trunk/SophyaLib/SkyMap/spherehealpix.cc

    r3572 r3836  
    66#include "pexceptions.h"
    77#include "fiondblock.h"
     8#include "strutil.h"
     9
     10#define SPHEREHEALPIX_CC_BFILE  // avoid extern template declarations
    811#include "spherehealpix.h"
    9 #include "strutil.h"
    1012
    1113extern "C"
  • trunk/SophyaLib/SkyMap/spherehealpix.h

    r3174 r3836  
    306306    return result; }
    307307
     308//--------- extern template declarations (if needed) -----------
     309#if defined ( NEED_EXT_DECL_TEMP ) && !defined( SPHEREHEALPIX_CC_BFILE )
     310extern template class SphereHEALPix<uint_2>;
     311extern template class SphereHEALPix<int_4>;
     312extern template class SphereHEALPix<r_8>;
     313extern template class SphereHEALPix<r_4>;
     314extern template class SphereHEALPix< complex<r_4> >;
     315extern template class SphereHEALPix< complex<r_8> >;
     316#endif  // Fin de if defined ( NEED_EXT_DECL_TEMP )
     317
    308318} // Fin du namespace
    309319
  • trunk/SophyaLib/SkyMap/spherethetaphi.cc

    r3572 r3836  
    11#include "sopnamsp.h"
    2 #include "spherethetaphi.h"
    32#include "smathconst.h"
    43#include <complex>
    54#include "fiondblock.h"
    65#include <iostream>
     6
     7#define SPHERETHETAPHI_CC_BFILE  // avoid extern template declarations
     8#include "spherethetaphi.h"
    79
    810
  • trunk/SophyaLib/SkyMap/spherethetaphi.h

    r3174 r3836  
    315315
    316316
     317//--------- extern template declarations (if needed) -----------
     318#if defined ( NEED_EXT_DECL_TEMP ) && !defined( SPHERETHETAPHI_CC_BFILE )
     319extern template class SphereThetaPhi<int_4>;
     320extern template class SphereThetaPhi<r_8>;
     321extern template class SphereThetaPhi<r_4>;
     322extern template class SphereThetaPhi< complex<r_4> >;
     323extern template class SphereThetaPhi< complex<r_8> >;
     324#endif  // Fin de if defined ( NEED_EXT_DECL_TEMP )
     325
    317326} // Fin du namespace
    318327
Note: See TracChangeset for help on using the changeset viewer.