Rev | Line | |
---|
[857] | 1 | // (C) Copyright Daniel Wallin 2004.
|
---|
| 2 | // Distributed under the Boost Software License, Version 1.0. (See accompanying
|
---|
| 3 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
|
---|
| 4 |
|
---|
| 5 | // Contains the definitions of the class template move_source and the function
|
---|
| 6 | // template move, which together make move pointers moveable.
|
---|
| 7 |
|
---|
| 8 | #ifndef BOOST_MOVE_HPP_INCLUDED
|
---|
| 9 | #define BOOST_MOVE_HPP_INCLUDED
|
---|
| 10 |
|
---|
| 11 | namespace boost { namespace ptr_container_detail {
|
---|
| 12 |
|
---|
| 13 | namespace move_ptrs {
|
---|
| 14 |
|
---|
| 15 | template<typename Ptr>
|
---|
| 16 | class move_source {
|
---|
| 17 | public:
|
---|
| 18 | move_source(Ptr& ptr) : ptr_(ptr) {}
|
---|
| 19 | Ptr& ptr() const { return ptr_; }
|
---|
| 20 | private:
|
---|
| 21 | Ptr& ptr_;
|
---|
| 22 | move_source(const Ptr&);
|
---|
| 23 | };
|
---|
| 24 |
|
---|
| 25 | } // End namespace move_ptrs.
|
---|
| 26 |
|
---|
| 27 |
|
---|
| 28 | template<typename T>
|
---|
| 29 | move_ptrs::move_source<T> move(T& x)
|
---|
| 30 | { return move_ptrs::move_source<T>(x); }
|
---|
| 31 |
|
---|
| 32 | } // namespace 'ptr_container_detail'
|
---|
| 33 | } // End namespace boost.
|
---|
| 34 |
|
---|
| 35 | #endif // #ifndef BOOST_MOVE_HPP_INCLUDED
|
---|
Note: See
TracBrowser
for help on using the repository browser.