deleter.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 62 行

HPP
62
字号
////////////////////////////////////////////////////////////////////////////////// (C) Copyright Ion Gaztanaga 2007-2008.//// 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)//// See http://www.boost.org/libs/interprocess for documentation.////////////////////////////////////////////////////////////////////////////////#ifndef BOOST_INTERPROCESS_DELETER_HPP#define BOOST_INTERPROCESS_DELETER_HPP#if (defined _MSC_VER) && (_MSC_VER >= 1200)#  pragma once#endif#include <boost/interprocess/detail/config_begin.hpp>#include <boost/interprocess/interprocess_fwd.hpp>#include <boost/interprocess/detail/utilities.hpp>//!\file//!Describes the functor to delete objects from the segment.namespace boost {namespace interprocess { //!A deleter that uses the segment manager's destroy_ptr //!function to destroy the passed pointer resource.//!//!This deleter is usedtemplate<class T, class SegmentManager>class deleter{   public:   typedef typename detail::pointer_to_other      <typename SegmentManager::void_pointer, T>::type   pointer;   private:   typedef typename detail::pointer_to_other      <pointer, SegmentManager>::type   segment_manager_pointer;   segment_manager_pointer mp_mngr;   public:   deleter(segment_manager_pointer pmngr)      :  mp_mngr(pmngr)   {}   void operator()(const pointer &p)   {  mp_mngr->destroy_ptr(detail::get_pointer(p));   }};}  //namespace interprocess { }  //namespace boost {#include <boost/interprocess/detail/config_end.hpp>#endif   //#ifndef BOOST_INTERPROCESS_DELETER_HPP

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?