Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/intrusive/detail/simple_disposers.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /////////////////////////////////////////////////////////////////////////////
0002 //
0003 // (C) Copyright Ion Gaztanaga  2014-2014
0004 //
0005 // Distributed under the Boost Software License, Version 1.0.
0006 //    (See accompanying file LICENSE_1_0.txt or copy at
0007 //          http://www.boost.org/LICENSE_1_0.txt)
0008 //
0009 // See http://www.boost.org/libs/intrusive for documentation.
0010 //
0011 /////////////////////////////////////////////////////////////////////////////
0012 
0013 #ifndef BOOST_INTRUSIVE_DETAIL_SIMPLE_DISPOSERS_HPP
0014 #define BOOST_INTRUSIVE_DETAIL_SIMPLE_DISPOSERS_HPP
0015 
0016 #include <boost/intrusive/detail/workaround.hpp>
0017 
0018 #ifndef BOOST_CONFIG_HPP
0019 #  include <boost/config.hpp>
0020 #endif
0021 
0022 #if defined(BOOST_HAS_PRAGMA_ONCE)
0023 #  pragma once
0024 #endif
0025 
0026 namespace boost {
0027 namespace intrusive {
0028 namespace detail {
0029 
0030 class null_disposer
0031 {
0032    public:
0033    template <class Pointer>
0034    void operator()(Pointer)
0035    {}
0036 };
0037 
0038 template<class NodeAlgorithms>
0039 class init_disposer
0040 {
0041    typedef typename NodeAlgorithms::node_ptr node_ptr;
0042 
0043    public:
0044    BOOST_INTRUSIVE_FORCEINLINE void operator()(node_ptr p)
0045    {  NodeAlgorithms::init(p);   }
0046 };
0047 
0048 }  //namespace detail{
0049 }  //namespace intrusive{
0050 }  //namespace boost{
0051 
0052 #endif //BOOST_INTRUSIVE_DETAIL_SIMPLE_DISPOSERS_HPP