File indexing completed on 2025-01-18 09:29:12
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef BOOST_ASSIGN_STD_SET_HPP
0013 #define BOOST_ASSIGN_STD_SET_HPP
0014
0015 #if defined(_MSC_VER)
0016 # pragma once
0017 #endif
0018
0019 #include <boost/assign/list_inserter.hpp>
0020 #include <boost/config.hpp>
0021 #include <boost/move/utility.hpp>
0022 #include <set>
0023
0024 namespace boost
0025 {
0026 namespace assign
0027 {
0028
0029 #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
0030
0031 template< class K, class C, class A, class K2 >
0032 inline list_inserter< assign_detail::call_insert< std::set<K,C,A> >, K >
0033 operator+=( std::set<K,C,A>& c, K2 k )
0034 {
0035 return insert( c )( k );
0036 }
0037
0038 template< class K, class C, class A, class K2 >
0039 inline list_inserter< assign_detail::call_insert< std::multiset<K,C,A> >, K >
0040 operator+=( std::multiset<K,C,A>& c, K2 k )
0041 {
0042 return insert( c )( k );
0043 }
0044
0045 #else
0046
0047 template< class K, class C, class A, class K2 >
0048 inline list_inserter< assign_detail::call_insert< std::set<K, C, A> >, K >
0049 operator+=(std::set<K, C, A>& c, K2&& k)
0050 {
0051 return insert(c)(boost::forward<K2>(k));
0052 }
0053
0054 template< class K, class C, class A, class K2 >
0055 inline list_inserter< assign_detail::call_insert< std::multiset<K, C, A> >, K >
0056 operator+=(std::multiset<K, C, A>& c, K2&& k)
0057 {
0058 return insert(c)(boost::forward<K2>(k));
0059 }
0060
0061 #endif
0062 }
0063 }
0064
0065 #endif