Changeset 3831 in Sophya for trunk/SophyaLib
- Timestamp:
- Aug 5, 2010, 2:16:20 PM (15 years ago)
- Location:
- trunk/SophyaLib
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/BaseTools/machdefs_mkmf.h
r3750 r3831 145 145 /* DECL_TEMP_SPEC : Template specialization declaration */ 146 146 /* TSNMLUPG4 : Two stage name look-up scheme (g++>3.4) */ 147 /* NEED_EXT_DECL_TEMP : extern declaration for template classes */ 147 148 148 149 … … 175 176 #undef TSNMLUPG4 176 177 #endif 178 179 180 /* Dynamic_cast problem encountered on Mac OS X 10.6 for explicitly instanciated classes across 181 dynamic libraries. solved by extern declaration of explicitly instanciated template classes */ 182 #ifndef NEED_EXT_DECL_TEMP 183 #define NEED_EXT_DECL_TEMP 184 #endif 185 177 186 178 187 /* now the specific things */ … … 208 217 #define __CXX_PRAGMA_TEMPLATES__ 209 218 #define PRAGMA_TEMPLATES 219 #undef NEED_EXT_DECL_TEMP /* old compiler version cxx 6.5 - we don't activate extern declaration */ 210 220 #endif 211 221 -
trunk/SophyaLib/BaseTools/ndatablock.cc
r3750 r3831 10 10 #include <complex> 11 11 #include "pexceptions.h" 12 13 #define NDATABLOCK_CC_BFILE // avoid extern template declarations 12 14 #include "ndatablock.h" 15 13 16 #include "thsafeop.h" // for ThreadSafe operations (Ref.Count/Share) 14 17 -
trunk/SophyaLib/BaseTools/ndatablock.h
r3385 r3831 9 9 #include <stdlib.h> /* pour que size_t soit defini */ 10 10 #include "anydataobj.h" 11 #include <complex> 11 12 #include <iostream> 12 13 … … 236 237 {return a.Div(b);} 237 238 239 //--------- extern template declarations (if needed) ----------- 240 #if defined ( NEED_EXT_DECL_TEMP ) && !defined( NDATABLOCK_CC_BFILE ) 241 extern template class NDataBlock<uint_1>; 242 extern template class NDataBlock<uint_2>; 243 extern template class NDataBlock<int_1>; 244 extern template class NDataBlock<int_2>; 245 extern template class NDataBlock<int_4>; 246 extern template class NDataBlock<int_8>; 247 extern template class NDataBlock<uint_4>; 248 extern template class NDataBlock<uint_8>; 249 extern template class NDataBlock<r_4>; 250 extern template class NDataBlock<r_8>; 251 extern template class NDataBlock< complex<r_4> >; 252 extern template class NDataBlock< complex<r_8> >; 253 #ifdef SO_LDBLE128 254 extern template class NDataBlock<r_16>; 255 extern template class NDataBlock< complex<r_16> >; 256 #endif 257 258 #endif // Fin de if defined ( NEED_EXT_DECL_TEMP ) 259 238 260 } // Fin du namespace 239 261 -
trunk/SophyaLib/TArray/spesqmtx.cc
r3824 r3831 4 4 // (C) R. Ansari, C.Magneville 2009 5 5 6 #define SPESQMTX_CC_BFILE // avoid extern template declarations 6 7 #include "spesqmtx.h" 7 8 #include "pexceptions.h" -
trunk/SophyaLib/TArray/spesqmtx.h
r3809 r3831 263 263 { SpecialSquareMatrix<T> result; result.CloneOrShare(a); 264 264 result.SetTemp(true); result.DivElt(b); return result; } 265 266 //--------- extern template declarations (if needed) ----------- 267 #if defined ( NEED_EXT_DECL_TEMP ) && !defined( SPESQMTX_CC_BFILE ) 268 extern template class SpecialSquareMatrix<uint_1>; 269 extern template class SpecialSquareMatrix<uint_2>; 270 extern template class SpecialSquareMatrix<uint_4>; 271 extern template class SpecialSquareMatrix<uint_8>; 272 extern template class SpecialSquareMatrix<int_1>; 273 extern template class SpecialSquareMatrix<int_2>; 274 extern template class SpecialSquareMatrix<int_4>; 275 extern template class SpecialSquareMatrix<int_8>; 276 extern template class SpecialSquareMatrix<r_4>; 277 extern template class SpecialSquareMatrix<r_8>; 278 extern template class SpecialSquareMatrix< complex<r_4> >; 279 extern template class SpecialSquareMatrix< complex<r_8> >; 280 #ifdef SO_LDBLE128 281 extern template class SpecialSquareMatrix<r_16>; 282 extern template class SpecialSquareMatrix< complex<r_16> >; 283 #endif 284 #endif // Fin de if defined ( NEED_EXT_DECL_TEMP ) 265 285 266 286 } // namespace SOPHYA -
trunk/SophyaLib/TArray/tarray.cc
r3751 r3831 10 10 11 11 #include "pexceptions.h" 12 13 #define TARRAY_CC_BFILE // avoid extern template declarations 12 14 #include "tarray.h" 13 15 -
trunk/SophyaLib/TArray/tarray.h
r3386 r3831 481 481 typedef TArray<r_8> Array; 482 482 483 //--------- extern template declarations (if needed) ----------- 484 #if defined ( NEED_EXT_DECL_TEMP ) && !defined( TARRAY_CC_BFILE ) 485 extern template class TArray<uint_1>; 486 extern template class TArray<uint_2>; 487 extern template class TArray<uint_4>; 488 extern template class TArray<uint_8>; 489 extern template class TArray<int_1>; 490 extern template class TArray<int_2>; 491 extern template class TArray<int_4>; 492 extern template class TArray<int_8>; 493 extern template class TArray<r_4>; 494 extern template class TArray<r_8>; 495 extern template class TArray< complex<r_4> >; 496 extern template class TArray< complex<r_8> >; 497 #ifdef SO_LDBLE128 498 extern template class TArray<r_16>; 499 extern template class TArray< complex<r_16> >; 500 #endif 501 #endif // Fin de if defined ( NEED_EXT_DECL_TEMP ) 502 483 503 } // Fin du namespace 484 504 -
trunk/SophyaLib/TArray/tmatrix.cc
r3751 r3831 1 // $Id: tmatrix.cc,v 1. 39 2010-03-03 20:46:07ansari Exp $1 // $Id: tmatrix.cc,v 1.40 2010-08-05 12:16:19 ansari Exp $ 2 2 // C.Magneville 04/99 3 3 #include "sopnamsp.h" … … 8 8 #include <stdlib.h> 9 9 #include "pexceptions.h" 10 11 #define TMATRIX_CC_BFILE // avoid extern template declarations 10 12 #include "tmatrix.h" 11 13 -
trunk/SophyaLib/TArray/tmatrix.h
r2884 r3831 242 242 typedef TMatrix<r_8> Matrix; 243 243 244 //--------- extern template declarations (if needed) ----------- 245 #if defined ( NEED_EXT_DECL_TEMP ) && !defined( TMATRIX_CC_BFILE ) 246 extern template class TMatrix<uint_1>; 247 extern template class TMatrix<uint_2>; 248 extern template class TMatrix<uint_4>; 249 extern template class TMatrix<uint_8>; 250 extern template class TMatrix<int_1>; 251 extern template class TMatrix<int_2>; 252 extern template class TMatrix<int_4>; 253 extern template class TMatrix<int_8>; 254 extern template class TMatrix<r_4>; 255 extern template class TMatrix<r_8>; 256 extern template class TMatrix< complex<r_4> >; 257 extern template class TMatrix< complex<r_8> >; 258 #ifdef SO_LDBLE128 259 extern template class TMatrix<r_16>; 260 extern template class TMatrix< complex<r_16> >; 261 #endif 262 #endif // Fin de if defined ( NEED_EXT_DECL_TEMP ) 263 264 244 265 } // Fin du namespace 245 266 -
trunk/SophyaLib/TArray/tvector.cc
r3751 r3831 1 // $Id: tvector.cc,v 1.2 4 2010-03-03 20:46:07ansari Exp $1 // $Id: tvector.cc,v 1.25 2010-08-05 12:16:20 ansari Exp $ 2 2 // C.Magneville 04/99 3 3 #include "sopnamsp.h" … … 5 5 #include <stdlib.h> 6 6 #include "pexceptions.h" 7 8 #define TVECTOR_CC_BFILE // avoid extern template declarations 7 9 #include "tvector.h" 8 10 -
trunk/SophyaLib/TArray/tvector.h
r2884 r3831 123 123 typedef TVector<r_8> Vector; 124 124 125 //--------- extern template declarations (if needed) ----------- 126 #if defined ( NEED_EXT_DECL_TEMP ) && !defined( TVECTOR_CC_BFILE ) 127 extern template class TVector<uint_1>; 128 extern template class TVector<uint_2>; 129 extern template class TVector<uint_4>; 130 extern template class TVector<uint_8>; 131 extern template class TVector<int_1>; 132 extern template class TVector<int_2>; 133 extern template class TVector<int_4>; 134 extern template class TVector<int_8>; 135 extern template class TVector<r_4>; 136 extern template class TVector<r_8>; 137 extern template class TVector< complex<r_4> >; 138 extern template class TVector< complex<r_8> >; 139 #ifdef SO_LDBLE128 140 extern template class TVector<r_16>; 141 extern template class TVector< complex<r_16> >; 142 #endif 143 #endif // Fin de if defined ( NEED_EXT_DECL_TEMP ) 144 125 145 } // Fin du namespace 126 146
Note:
See TracChangeset
for help on using the changeset viewer.