Sha256: 8bbb62814edcfa28af9c70257d37fa0e5c05613d819299c59bb1127848458aa4
Contents?: true
Size: 1.38 KB
Versions: 6
Compression:
Stored size: 1.38 KB
Contents
///////////////////////////////////////////////////////////////////////////// // // (C) Copyright Ion Gaztanaga 2014-2014 // // 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/intrusive for documentation. // ///////////////////////////////////////////////////////////////////////////// #ifndef BOOST_INTRUSIVE_DETAIL_EXCEPTION_DISPOSER_HPP #define BOOST_INTRUSIVE_DETAIL_EXCEPTION_DISPOSER_HPP #ifndef BOOST_CONFIG_HPP # include <boost/config.hpp> #endif #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include <boost/intrusive/detail/workaround.hpp> namespace boost { namespace intrusive { namespace detail { template<class Container, class Disposer> class exception_disposer { Container *cont_; Disposer &disp_; exception_disposer(const exception_disposer&); exception_disposer &operator=(const exception_disposer&); public: exception_disposer(Container &cont, Disposer &disp) : cont_(&cont), disp_(disp) {} BOOST_INTRUSIVE_FORCEINLINE void release() { cont_ = 0; } ~exception_disposer() { if(cont_){ cont_->clear_and_dispose(disp_); } } }; } //namespace detail{ } //namespace intrusive{ } //namespace boost{ #endif //BOOST_INTRUSIVE_DETAIL_EXCEPTION_DISPOSER_HPP
Version data entries
6 entries across 6 versions & 1 rubygems