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_ALGO_TYPE_HPP 14 #define BOOST_INTRUSIVE_DETAIL_ALGO_TYPE_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 27 enum algo_types 28 { 29 CircularListAlgorithms, 30 CircularSListAlgorithms, 31 LinearSListAlgorithms, 32 CommonSListAlgorithms, 33 BsTreeAlgorithms, 34 RbTreeAlgorithms, 35 AvlTreeAlgorithms, 36 SgTreeAlgorithms, 37 SplayTreeAlgorithms, 38 TreapAlgorithms, 39 UnorderedAlgorithms, 40 UnorderedCircularSlistAlgorithms, 41 AnyAlgorithm 42 }; 43 44 template<algo_types AlgoType, class NodeTraits> 45 struct get_algo; 46 47 template<algo_types AlgoType, class ValueTraits, class NodePtrCompare, class ExtraChecker> 48 struct get_node_checker; 49 50 } //namespace intrusive 51 } //namespace boost 52 53 #endif //BOOST_INTRUSIVE_DETAIL_ALGO_TYPE_HPP 54