1 /////////////////////////////////////////////////////////////////////////////// 2 /// \file as_lvalue.hpp 3 /// Contains definition the as_lvalue() functions. 4 // 5 // Copyright 2008 Eric Niebler. Distributed under the Boost 6 // Software License, Version 1.0. (See accompanying file 7 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 8 9 #ifndef BOOST_PROTO_TRANSFORM_AS_LVALUE_HPP_EAN_12_27_2007 10 #define BOOST_PROTO_TRANSFORM_AS_LVALUE_HPP_EAN_12_27_2007 11 12 #include <boost/proto/proto_fwd.hpp> 13 14 #if defined(_MSC_VER) 15 # pragma warning(push) 16 # pragma warning(disable : 4714) // function 'xxx' marked as __forceinline not inlined 17 #endif 18 19 namespace boost { namespace proto 20 { 21 namespace detail 22 { 23 template<typename T> 24 BOOST_FORCEINLINE as_lvalue(T & t)25 T &as_lvalue(T &t) 26 { 27 return t; 28 } 29 30 template<typename T> 31 BOOST_FORCEINLINE as_lvalue(T const & t)32 T const &as_lvalue(T const &t) 33 { 34 return t; 35 } 36 } 37 }} 38 39 #if defined(_MSC_VER) 40 # pragma warning(pop) 41 #endif 42 43 #endif 44