Ticket #10063: boost_ublas_msvc8.patch
File boost_ublas_msvc8.patch, 12.9 KB (added by , 8 years ago) |
---|
-
numeric/ublas/matrix.hpp
16 16 #include <boost/numeric/ublas/vector.hpp> 17 17 #include <boost/numeric/ublas/matrix_expression.hpp> 18 18 #include <boost/numeric/ublas/detail/matrix_assign.hpp> 19 #include <boost/serialization/collection_size_type.hpp> 20 #include <boost/serialization/array.hpp> 21 #include <boost/serialization/nvp.hpp> 19 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 20 #include <boost/serialization/collection_size_type.hpp> 21 #include <boost/serialization/array.hpp> 22 #include <boost/serialization/nvp.hpp> 23 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 22 24 23 25 // Iterators based on ideas of Jeremy Siek 24 26 … … 1066 1068 return reverse_iterator2 (begin2 ()); 1067 1069 } 1068 1070 1071 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 1069 1072 // Serialization 1070 1073 template<class Archive> 1071 1074 void serialize(Archive & ar, const unsigned int /* file_version */){ … … 1086 1089 } 1087 1090 ar & serialization::make_nvp("data",data_); 1088 1091 } 1092 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 1089 1093 1090 1094 private: 1091 1095 size_type size1_; … … 2143 2147 return reverse_iterator2 (begin2 ()); 2144 2148 } 2145 2149 2150 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 2146 2151 // Serialization 2147 2152 template<class Archive> 2148 2153 void serialize(Archive & ar, const unsigned int /* file_version */){ … … 2163 2168 } 2164 2169 ar & serialization::make_nvp("data",data_); 2165 2170 } 2171 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 2166 2172 2167 2173 private: 2168 2174 size_type size1_; … … 2528 2534 return const_reverse_iterator2 (begin2 ()); 2529 2535 } 2530 2536 2537 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 2531 2538 // Serialization 2532 2539 template<class Archive> 2533 2540 void serialize(Archive & ar, const unsigned int /* file_version */){ … … 2547 2554 size2_ = s2; 2548 2555 } 2549 2556 } 2557 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 2550 2558 2551 2559 private: 2552 2560 size_type size1_; … … 2939 2947 return const_reverse_iterator2 (begin2 ()); 2940 2948 } 2941 2949 2950 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 2942 2951 // Serialization 2943 2952 template<class Archive> 2944 2953 void serialize(Archive & ar, const unsigned int /* file_version */){ … … 2959 2968 size_common_ = ((std::min)(size1_, size2_)); 2960 2969 } 2961 2970 } 2971 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 2962 2972 2963 2973 private: 2964 2974 size_type size1_; … … 3406 3416 return const_reverse_iterator2 (begin2 ()); 3407 3417 } 3408 3418 3419 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 3409 3420 // Serialization 3410 3421 template<class Archive> 3411 3422 void serialize(Archive & ar, const unsigned int /* file_version */){ … … 3427 3438 3428 3439 ar & serialization::make_nvp("value", value_); 3429 3440 } 3441 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 3430 3442 3431 3443 private: 3432 3444 size_type size1_; … … 4357 4369 return reverse_iterator2 (begin2 ()); 4358 4370 } 4359 4371 4372 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 4360 4373 // Serialization 4361 4374 template<class Archive> 4362 4375 void serialize(Archive & ar, const unsigned int /* file_version */){ … … 4378 4391 // could probably use make_array( &(data[0][0]), N*M ) 4379 4392 ar & serialization::make_array(data_, N); 4380 4393 } 4394 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 4381 4395 4382 4396 private: 4383 4397 size_type size1_; -
numeric/ublas/storage.hpp
18 18 #include <boost/shared_array.hpp> 19 19 #endif 20 20 21 #include <boost/serialization/array.hpp> 22 #include <boost/serialization/collection_size_type.hpp> 23 #include <boost/serialization/nvp.hpp> 21 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 22 #include <boost/serialization/array.hpp> 23 #include <boost/serialization/collection_size_type.hpp> 24 #include <boost/serialization/nvp.hpp> 25 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 24 26 25 27 #include <boost/numeric/ublas/exception.hpp> 26 28 #include <boost/numeric/ublas/traits.hpp> … … 269 271 } 270 272 271 273 private: 274 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 272 275 friend class boost::serialization::access; 273 276 274 277 // Serialization … … 282 285 } 283 286 ar & serialization::make_array(data_, s); 284 287 } 288 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 285 289 286 290 private: 287 // Handle explic t destroy on a (possibly indexed) iterator291 // Handle explicit destroy on a (possibly indexed) iterator 288 292 BOOST_UBLAS_INLINE 289 293 static void iterator_destroy (iterator &i) { 290 294 (&(*i)) -> ~value_type (); … … 447 451 } 448 452 449 453 private: 454 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 450 455 // Serialization 451 456 friend class boost::serialization::access; 452 457 … … 461 466 } 462 467 ar & serialization::make_array(data_, s); 463 468 } 469 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 464 470 465 471 private: 466 472 size_type size_; -
numeric/ublas/storage_sparse.hpp
14 14 #define _BOOST_UBLAS_STORAGE_SPARSE_ 15 15 16 16 #include <map> 17 #include <boost/serialization/collection_size_type.hpp> 18 #include <boost/serialization/nvp.hpp> 19 #include <boost/serialization/array.hpp> 20 #include <boost/serialization/map.hpp> 21 #include <boost/serialization/base_object.hpp> 17 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 18 #include <boost/serialization/collection_size_type.hpp> 19 #include <boost/serialization/nvp.hpp> 20 #include <boost/serialization/array.hpp> 21 #include <boost/serialization/map.hpp> 22 #include <boost/serialization/base_object.hpp> 23 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 22 24 23 25 #include <boost/numeric/ublas/storage.hpp> 24 26 -
numeric/ublas/vector.hpp
19 19 #include <boost/numeric/ublas/storage.hpp> 20 20 #include <boost/numeric/ublas/vector_expression.hpp> 21 21 #include <boost/numeric/ublas/detail/vector_assign.hpp> 22 #include <boost/serialization/collection_size_type.hpp> 23 #include <boost/serialization/nvp.hpp> 22 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 23 #include <boost/serialization/collection_size_type.hpp> 24 #include <boost/serialization/nvp.hpp> 25 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 24 26 25 27 26 28 // Iterators based on ideas of Jeremy Siek … … 776 778 return reverse_iterator (begin ()); 777 779 } 778 780 781 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 779 782 // ------------- 780 783 // Serialization 781 784 // ------------- … … 784 787 /// \param ar Archive object. Can be a flat file, an XML file or any other stream 785 788 /// \param file_version Optional file version (not yet used) 786 789 template<class Archive> 787 void serialize(Archive & ar, const unsigned int /* file_version */){ 788 ar & serialization::make_nvp("data",data_); 789 } 790 void serialize(Archive & ar, const unsigned int /* file_version */){ 791 ar & serialization::make_nvp("data",data_); 792 } 793 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 790 794 791 792 795 private: 796 array_type data_; 793 797 }; 794 798 795 799 … … 1051 1055 } 1052 1056 BOOST_UBLAS_INLINE 1053 1057 const_reverse_iterator rend () const { 1054 1055 1058 return const_reverse_iterator (begin ()); 1059 } 1056 1060 1057 // Serialization 1058 template<class Archive> 1059 void serialize(Archive & ar, const unsigned int /* file_version */){ 1061 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 1062 // Serialization 1063 template<class Archive> 1064 void serialize(Archive & ar, const unsigned int /* file_version */){ 1060 1065 serialization::collection_size_type s (size_); 1061 1066 ar & serialization::make_nvp("size",s); 1062 1067 if (Archive::is_loading::value) { 1063 size_ = s; 1064 } 1065 } 1068 size_ = s; 1069 } 1070 } 1071 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 1066 1072 1067 1068 1073 private: 1074 size_type size_; 1069 1075 typedef const value_type const_value_type; 1070 1076 static const_value_type zero_; 1071 1077 }; … … 1295 1301 } 1296 1302 BOOST_UBLAS_INLINE 1297 1303 const_reverse_iterator rend () const { 1298 1299 1304 return const_reverse_iterator (begin ()); 1305 } 1300 1306 1301 // Serialization 1302 template<class Archive> 1303 void serialize(Archive & ar, const unsigned int /* file_version */){ 1307 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 1308 // Serialization 1309 template<class Archive> 1310 void serialize(Archive & ar, const unsigned int /* file_version */){ 1304 1311 serialization::collection_size_type s (size_); 1305 1312 ar & serialization::make_nvp("size",s); 1306 1313 if (Archive::is_loading::value) { 1307 1314 size_ = s; 1308 } 1309 ar & serialization::make_nvp("index", index_); 1310 } 1315 } 1316 ar & serialization::make_nvp("index", index_); 1317 } 1318 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 1311 1319 1312 1313 1320 private: 1321 size_type size_; 1314 1322 size_type index_; 1315 1323 typedef const value_type const_value_type; 1316 1324 static const_value_type zero_; … … 1543 1551 } 1544 1552 BOOST_UBLAS_INLINE 1545 1553 const_reverse_iterator rend () const { 1546 1547 1554 return const_reverse_iterator (begin ()); 1555 } 1548 1556 1549 // Serialization 1550 template<class Archive> 1551 void serialize(Archive & ar, const unsigned int /* file_version */){ 1557 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 1558 // Serialization 1559 template<class Archive> 1560 void serialize(Archive & ar, const unsigned int /* file_version */){ 1552 1561 serialization::collection_size_type s (size_); 1553 1562 ar & serialization::make_nvp("size",s); 1554 1563 if (Archive::is_loading::value) { 1555 1564 size_ = s; 1556 } 1557 ar & serialization::make_nvp("value", value_); 1558 } 1565 } 1566 ar & serialization::make_nvp("value", value_); 1567 } 1568 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 1559 1569 1560 1561 1570 private: 1571 size_type size_; 1562 1572 value_type value_; 1563 1573 }; 1564 1574 … … 2049 2059 } 2050 2060 BOOST_UBLAS_INLINE 2051 2061 reverse_iterator rend () { 2052 2053 2062 return reverse_iterator (begin ()); 2063 } 2054 2064 2055 // Serialization 2056 template<class Archive> 2057 void serialize(Archive & ar, const unsigned int /* file_version */){ 2065 #ifndef BOOST_UBLAS_DISABLE_SERIALIZATION 2066 // Serialization 2067 template<class Archive> 2068 void serialize(Archive & ar, const unsigned int /* file_version */){ 2058 2069 serialization::collection_size_type s (size_); 2059 2070 ar & serialization::make_nvp("size",s); 2060 2071 … … 2063 2074 if (s > N) bad_size("too large size in bounded_vector::load()\n").raise(); 2064 2075 size_ = s; 2065 2076 } 2066 // ISSUE: this writes the full array 2067 ar & serialization::make_nvp("data",data_); 2068 } 2077 // ISSUE: this writes the full array 2078 ar & serialization::make_nvp("data",data_); 2079 } 2080 #endif // BOOST_UBLAS_DISABLE_SERIALIZATION 2069 2081 2070 2071 2082 private: 2083 size_type size_; 2072 2084 array_type data_; 2073 2085 }; 2074 2086 -
type_traits/has_new_operator.hpp
18 18 // should be the last #include 19 19 #include <boost/type_traits/detail/bool_trait_def.hpp> 20 20 21 #if defined(new) 22 #define BOOST_TT_AUX_MACRO_NEW_DEFINED 23 #if BOOST_WORKAROUND(BOOST_MSVC, >= 1310) 24 #pragma push_macro("new") 25 #else 26 #error Unsupported compiler. Macro "new" must be hidden. 27 #endif 28 #undef new 29 #endif 30 21 31 namespace boost { 22 32 namespace detail { 23 33 template <class U, U x> … … 135 145 136 146 } // namespace boost 137 147 148 #if defined(BOOST_TT_AUX_MACRO_NEW_DEFINED) 149 #if BOOST_WORKAROUND(BOOST_MSVC, >= 1310) 150 #pragma pop_macro("new") 151 #endif 152 #undef BOOST_TT_AUX_MACRO_NEW_DEFINED 153 #endif 154 138 155 #include <boost/type_traits/detail/bool_trait_undef.hpp> 139 156 140 157 #endif // BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED