diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-03-21 15:45:20 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-03-21 15:46:37 +0900 |
commit | 733b5d5ae2c5d625211e2985ac25728ac3f54883 (patch) | |
tree | a5b214744b256f07e1dc2bd7273035a7808c659f /boost/geometry/index/detail/rtree/node/node_auto_ptr.hpp | |
parent | 08c1e93fa36a49f49325a07fe91ff92c964c2b6c (diff) | |
download | boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.gz boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.bz2 boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.zip |
Imported Upstream version 1.58.0upstream/1.58.0
Change-Id: If0072143aa26874812e0db6872e1efb10a3e5e94
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/geometry/index/detail/rtree/node/node_auto_ptr.hpp')
-rw-r--r-- | boost/geometry/index/detail/rtree/node/node_auto_ptr.hpp | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/boost/geometry/index/detail/rtree/node/node_auto_ptr.hpp b/boost/geometry/index/detail/rtree/node/node_auto_ptr.hpp deleted file mode 100644 index c19e123b62..0000000000 --- a/boost/geometry/index/detail/rtree/node/node_auto_ptr.hpp +++ /dev/null @@ -1,81 +0,0 @@ -// Boost.Geometry Index -// -// R-tree node auto ptr -// -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. -// -// 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) - -#ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_NODE_AUTO_PTR_HPP -#define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_NODE_AUTO_PTR_HPP - -#include <boost/geometry/index/detail/rtree/visitors/destroy.hpp> - -namespace boost { namespace geometry { namespace index { - -namespace detail { namespace rtree { - -// TODO - change the name to node_scoped_ptr - -template <typename Value, typename Options, typename Translator, typename Box, typename Allocators> -class node_auto_ptr -{ - typedef typename rtree::node<Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag>::type node; - typedef typename Allocators::node_pointer pointer; - - node_auto_ptr(node_auto_ptr const&); - node_auto_ptr & operator=(node_auto_ptr const&); - -public: - node_auto_ptr(pointer ptr, Allocators & allocators) - : m_ptr(ptr) - , m_allocators(allocators) - {} - - ~node_auto_ptr() - { - reset(); - } - - void reset(pointer ptr = 0) - { - if ( m_ptr ) - { - detail::rtree::visitors::destroy<Value, Options, Translator, Box, Allocators> del_v(m_ptr, m_allocators); - detail::rtree::apply_visitor(del_v, *m_ptr); - } - m_ptr = ptr; - } - - void release() - { - m_ptr = 0; - } - - pointer get() const - { - return m_ptr; - } - - node & operator*() const - { - return *m_ptr; - } - - pointer operator->() const - { - return m_ptr; - } - -private: - pointer m_ptr; - Allocators & m_allocators; -}; - -}} // namespace detail::rtree - -}}} // namespace boost::geometry::index - -#endif // BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_NODE_AUTO_PTR_HPP |