| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | // (C) Copyright Daniel Wallin 2004.// Distributed under 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.)// Contains the definitions of the class template move_source and the function// template move, which together make move pointers moveable.#ifndef BOOST_MOVE_HPP_INCLUDED#define BOOST_MOVE_HPP_INCLUDEDnamespace boost { namespace ptr_container_detail {namespace move_ptrs {#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)    #pragma warning(push)    #pragma warning(disable:4512)  #endif      template<typename Ptr>class move_source {public:    move_source(Ptr& ptr) : ptr_(ptr) {}    Ptr& ptr() const { return ptr_; }private:    Ptr& ptr_;    move_source(const Ptr&);};#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)    #pragma warning(pop)    #endif  } // End namespace move_ptrs.template<typename T>move_ptrs::move_source<T> move(T& x) { return move_ptrs::move_source<T>(x); }} // namespace 'ptr_container_detail'} // End namespace boost.#endif // #ifndef BOOST_MOVE_HPP_INCLUDED
 |