File indexing completed on 2025-01-18 09:29:12
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef BOOST_ASSIGN_STD_STACK_HPP
0012 #define BOOST_ASSIGN_STD_STACK_HPP
0013
0014 #if defined(_MSC_VER)
0015 # pragma once
0016 #endif
0017
0018 #include <boost/assign/list_inserter.hpp>
0019 #include <boost/config.hpp>
0020 #include <boost/move/utility.hpp>
0021 #include <stack>
0022
0023 namespace boost
0024 {
0025 namespace assign
0026 {
0027 #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
0028
0029 template< class V, class C, class V2 >
0030 inline list_inserter< assign_detail::call_push< std::stack<V,C> >, V >
0031 operator+=( std::stack<V,C>& c, V2 v )
0032 {
0033 return push( c )( v );
0034 }
0035
0036 #else
0037
0038 template< class V, class C, class V2 >
0039 inline list_inserter< assign_detail::call_push< std::stack<V, C> >, V >
0040 operator+=(std::stack<V, C>& c, V2&& v)
0041 {
0042 return push(c)(boost::forward<V2>(v));
0043 }
0044
0045 #endif
0046 }
0047 }
0048
0049 #endif