Changeset 3831 in Sophya for trunk/SophyaLib/BaseTools
- Timestamp:
- Aug 5, 2010, 2:16:20 PM (15 years ago)
- Location:
- trunk/SophyaLib/BaseTools
- Files:
-
- 3 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
Note:
See TracChangeset
for help on using the changeset viewer.