1 ///////////////////////////////////////////////////////////////////////////// 2 // 3 // (C) Copyright Ion Gaztanaga 2014-2014 4 // 5 // Distributed under the Boost Software License, Version 1.0. 6 // (See accompanying file LICENSE_1_0.txt or copy at 7 // http://www.boost.org/LICENSE_1_0.txt) 8 // 9 // See http://www.boost.org/libs/intrusive for documentation. 10 // 11 ///////////////////////////////////////////////////////////////////////////// 12 13 #ifndef BOOST_INTRUSIVE_DETAIL_EMPTY_NODE_CHECKER_HPP 14 #define BOOST_INTRUSIVE_DETAIL_EMPTY_NODE_CHECKER_HPP 15 16 #ifndef BOOST_CONFIG_HPP 17 # include <boost/config.hpp> 18 #endif 19 20 #if defined(BOOST_HAS_PRAGMA_ONCE) 21 # pragma once 22 #endif 23 24 namespace boost { 25 namespace intrusive { 26 namespace detail { 27 28 template<class ValueTraits> 29 struct empty_node_checker 30 { 31 typedef ValueTraits value_traits; 32 typedef typename value_traits::node_traits node_traits; 33 typedef typename node_traits::const_node_ptr const_node_ptr; 34 35 struct return_type {}; 36 operator ()boost::intrusive::detail::empty_node_checker37 void operator () (const const_node_ptr&, const return_type&, const return_type&, return_type&) {} 38 }; 39 40 } //namespace detail{ 41 } //namespace intrusive{ 42 } //namespace boost{ 43 44 #endif //BOOST_INTRUSIVE_DETAIL_EMPTY_NODE_CHECKER_HPP 45