// Boost.Assign library // // Copyright Thorsten Ottosen 2003-2004. Use, modification and // distribution is subject to the Boost Software License, Version // 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // // For more information, see http://www.boost.org/libs/assign/ // #ifndef BOOST_ASSIGN_STD_STACK_HPP #define BOOST_ASSIGN_STD_STACK_HPP #if defined(_MSC_VER) # pragma once #endif #include #include #include #include namespace boost { namespace assign { #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template< class V, class C, class V2 > inline list_inserter< assign_detail::call_push< std::stack >, V > operator+=( std::stack& c, V2 v ) { return push( c )( v ); } #else template< class V, class C, class V2 > inline list_inserter< assign_detail::call_push< std::stack >, V > operator+=(std::stack& c, V2&& v) { return push(c)(boost::forward(v)); } #endif } } #endif