Ticket #5741: multi_index_foreach_support_fix.patch
File multi_index_foreach_support_fix.patch, 3.6 KB (added by , 11 years ago) |
---|
-
boost/multi_index/sequenced_index.hpp
915 915 916 916 } /* namespace multi_index */ 917 917 918 namespace foreach{ 919 /* BOOST_FOREACH support 920 * Tell BOOST_FOREACH to avoid copying indices. 921 */ 922 923 template<typename T> struct is_noncopyable; 924 925 template<typename SuperMeta,typename TagList> 926 struct is_noncopyable< 927 multi_index::detail::sequenced_index<SuperMeta,TagList> 928 >:mpl::true_ 929 { 930 }; 931 932 } /* namespace foreach */ 933 918 934 } /* namespace boost */ 919 935 920 936 #undef BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT -
boost/multi_index/ordered_index.hpp
46 46 #include <boost/detail/no_exceptions_support.hpp> 47 47 #include <boost/detail/workaround.hpp> 48 48 #include <boost/iterator/reverse_iterator.hpp> 49 #include <boost/mpl/bool.hpp> 49 50 #include <boost/mpl/if.hpp> 50 51 #include <boost/mpl/push_front.hpp> 51 52 #include <boost/multi_index/detail/access_specifier.hpp> … … 1383 1384 1384 1385 } /* namespace multi_index */ 1385 1386 1387 namespace foreach{ 1388 /* BOOST_FOREACH support 1389 * Tell BOOST_FOREACH to avoid copying indices. 1390 */ 1391 1392 template<typename T> struct is_noncopyable; 1393 1394 template< 1395 typename KeyFromValue,typename Compare, 1396 typename SuperMeta,typename TagList,typename Category 1397 > 1398 struct is_noncopyable< 1399 multi_index::detail::ordered_index< 1400 KeyFromValue,Compare,SuperMeta,TagList,Category> 1401 >:mpl::true_ 1402 { 1403 }; 1404 1405 } /* namespace foreach */ 1406 1386 1407 } /* namespace boost */ 1387 1408 1388 1409 #undef BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT -
boost/multi_index/hashed_index.hpp
20 20 #include <boost/detail/no_exceptions_support.hpp> 21 21 #include <boost/detail/workaround.hpp> 22 22 #include <boost/limits.hpp> 23 #include <boost/mpl/bool.hpp> 23 24 #include <boost/mpl/push_front.hpp> 24 25 #include <boost/multi_index/detail/access_specifier.hpp> 25 26 #include <boost/multi_index/detail/auto_space.hpp> … … 1238 1239 1239 1240 } /* namespace multi_index */ 1240 1241 1242 namespace foreach{ 1243 /* BOOST_FOREACH support 1244 * Tell BOOST_FOREACH to avoid copying indices. 1245 */ 1246 1247 template<typename T> struct is_noncopyable; 1248 1249 template< 1250 typename KeyFromValue,typename Hash,typename Pred, 1251 typename SuperMeta,typename TagList,typename Category 1252 > 1253 struct is_noncopyable< 1254 multi_index::detail::hashed_index< 1255 KeyFromValue,Hash,Pred,SuperMeta,TagList,Category> 1256 >:mpl::true_ 1257 { 1258 }; 1259 1260 } /* namespace foreach */ 1261 1241 1262 } /* namespace boost */ 1242 1263 1243 1264 #undef BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT -
boost/multi_index/random_access_index.hpp
1001 1001 1002 1002 } /* namespace multi_index */ 1003 1003 1004 namespace foreach{ 1005 /* BOOST_FOREACH support 1006 * Tell BOOST_FOREACH to avoid copying indices. 1007 */ 1008 1009 template<typename T> struct is_noncopyable; 1010 1011 template<typename SuperMeta,typename TagList> 1012 struct is_noncopyable< 1013 multi_index::detail::random_access_index<SuperMeta,TagList> 1014 >:mpl::true_ 1015 { 1016 }; 1017 1018 } /* namespace foreach */ 1019 1004 1020 } /* namespace boost */ 1005 1021 1006 1022 #undef BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT