itestvalue.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 443 行 · 第 1/2 页

HPP
443
字号
///////////////////////////////////////////////////////////////////////////////// (C) Copyright Olaf Krzikalla 2004-2006.// (C) Copyright Ion Gaztanaga  2006-2007.//// 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_ITESTVALUE_HPP#define BOOST_INTRUSIVE_DETAIL_ITESTVALUE_HPP#include <iostream>#include <boost/intrusive/set_hook.hpp>#include <boost/intrusive/list_hook.hpp>#include <boost/intrusive/slist_hook.hpp>#include <boost/intrusive/unordered_set_hook.hpp>#include <boost/intrusive/splay_set_hook.hpp>#include <boost/intrusive/avl_set_hook.hpp>#include <boost/intrusive/bs_set_hook.hpp>#include <boost/intrusive/options.hpp>#include <boost/functional/hash.hpp>#include "smart_ptr.hpp"namespace boost{namespace intrusive{struct my_tag;template<class VoidPointer>struct set_base_hook_type{  typedef set_base_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct set_auto_base_hook_type{  typedef set_base_hook<link_mode<auto_unlink>, void_pointer<VoidPointer>, tag<my_tag>, optimize_size<true> > type;  };template<class VoidPointer>struct set_member_hook_type{  typedef set_member_hook<void_pointer<VoidPointer>, optimize_size<true> > type;  };template<class VoidPointer>struct set_auto_member_hook_type{  typedef set_member_hook<link_mode<auto_unlink>, void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct splay_set_base_hook_type{  typedef splay_set_base_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct splay_set_auto_base_hook_type{  typedef splay_set_base_hook<link_mode<auto_unlink>, void_pointer<VoidPointer>, tag<my_tag> > type;  };template<class VoidPointer>struct splay_set_member_hook_type{  typedef splay_set_member_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct splay_set_auto_member_hook_type{  typedef splay_set_member_hook<link_mode<auto_unlink>, void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct bs_set_base_hook_type{  typedef bs_set_base_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct bs_set_member_hook_type{  typedef bs_set_member_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct avl_set_base_hook_type{  typedef avl_set_base_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct avl_set_auto_base_hook_type{  typedef avl_set_base_hook<link_mode<auto_unlink>, void_pointer<VoidPointer>, tag<my_tag>, optimize_size<true> > type;  };template<class VoidPointer>struct avl_set_member_hook_type{  typedef avl_set_member_hook<void_pointer<VoidPointer>, optimize_size<true> > type;  };template<class VoidPointer>struct avl_set_auto_member_hook_type{  typedef avl_set_member_hook<link_mode<auto_unlink>, void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct list_base_hook_type{  typedef list_base_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct list_auto_base_hook_type{  typedef list_base_hook<link_mode<auto_unlink>, void_pointer<VoidPointer>, tag<my_tag> > type;  };template<class VoidPointer>struct list_member_hook_type{  typedef list_member_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct list_auto_member_hook_type{  typedef list_member_hook<link_mode<auto_unlink>, void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct slist_base_hook_type{  typedef slist_base_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct slist_auto_base_hook_type{  typedef slist_base_hook<link_mode<auto_unlink>, void_pointer<VoidPointer>, tag<my_tag> > type;  };template<class VoidPointer>struct slist_member_hook_type{  typedef slist_member_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct slist_auto_member_hook_type{  typedef slist_member_hook<link_mode<auto_unlink>, void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct uset_base_hook_type{  typedef unordered_set_base_hook<void_pointer<VoidPointer> > type;  };template<class VoidPointer>struct uset_auto_base_hook_type{   typedef unordered_set_base_hook      < link_mode<auto_unlink>      , void_pointer<VoidPointer>      , tag<my_tag>      , store_hash<true>      > type;};template<class VoidPointer>struct uset_member_hook_type{   typedef unordered_set_member_hook      < void_pointer<VoidPointer>      , optimize_multikey<true>      > type;};template<class VoidPointer>struct uset_auto_member_hook_type{   typedef unordered_set_member_hook      < link_mode<auto_unlink>, void_pointer<VoidPointer>      , store_hash<true>      , optimize_multikey<true>      > type;};template<class VoidPointer, bool ConstantTimeSize>struct testvalue   :  set_base_hook_type<VoidPointer>::type   ,  set_auto_base_hook_type<VoidPointer>::type   ,  splay_set_base_hook_type<VoidPointer>::type   ,  splay_set_auto_base_hook_type<VoidPointer>::type   ,  bs_set_base_hook_type<VoidPointer>::type   ,  avl_set_base_hook_type<VoidPointer>::type   ,  avl_set_auto_base_hook_type<VoidPointer>::type   ,  list_base_hook_type<VoidPointer>::type   ,  list_auto_base_hook_type<VoidPointer>::type   ,  slist_base_hook_type<VoidPointer>::type   ,  slist_auto_base_hook_type<VoidPointer>::type   ,  uset_base_hook_type<VoidPointer>::type   ,  uset_auto_base_hook_type<VoidPointer>::type{   typedef typename set_auto_base_hook_type<VoidPointer>::type          set_auto_base_hook_t;   typedef typename set_base_hook_type<VoidPointer>::type               set_base_hook_t;   typedef typename set_auto_member_hook_type<VoidPointer>::type        set_auto_member_hook_t;   typedef typename set_member_hook_type<VoidPointer>::type             set_member_hook_t;   typedef typename splay_set_auto_base_hook_type<VoidPointer>::type    splay_set_auto_base_hook_t;   typedef typename splay_set_base_hook_type<VoidPointer>::type         splay_set_base_hook_t;   typedef typename splay_set_auto_member_hook_type<VoidPointer>::type  splay_set_auto_member_hook_t;   typedef typename splay_set_member_hook_type<VoidPointer>::type       splay_set_member_hook_t;   typedef typename bs_set_base_hook_type<VoidPointer>::type            bs_set_base_hook_t;   typedef typename bs_set_member_hook_type<VoidPointer>::type          bs_set_member_hook_t;   typedef typename avl_set_auto_base_hook_type<VoidPointer>::type      avl_set_auto_base_hook_t;   typedef typename avl_set_base_hook_type<VoidPointer>::type           avl_set_base_hook_t;   typedef typename avl_set_auto_member_hook_type<VoidPointer>::type    avl_set_auto_member_hook_t;   typedef typename avl_set_member_hook_type<VoidPointer>::type         avl_set_member_hook_t;   typedef typename uset_auto_base_hook_type<VoidPointer>::type         unordered_set_auto_base_hook_t;   typedef typename uset_base_hook_type<VoidPointer>::type              unordered_set_base_hook_t;   typedef typename uset_auto_member_hook_type<VoidPointer>::type       unordered_set_auto_member_hook_t;   typedef typename uset_member_hook_type<VoidPointer>::type            unordered_set_member_hook_t;   typedef typename list_auto_base_hook_type<VoidPointer>::type         list_auto_base_hook_t;   typedef typename list_base_hook_type<VoidPointer>::type              list_base_hook_t;   typedef typename list_auto_member_hook_type<VoidPointer>::type       list_auto_member_hook_t;   typedef typename list_member_hook_type<VoidPointer>::type            list_member_hook_t;   typedef typename slist_auto_base_hook_type<VoidPointer>::type        slist_auto_base_hook_t;   typedef typename slist_base_hook_type<VoidPointer>::type             slist_base_hook_t;   typedef typename slist_auto_member_hook_type<VoidPointer>::type      slist_auto_member_hook_t;   typedef typename slist_member_hook_type<VoidPointer>::type           slist_member_hook_t;   //Set members   set_member_hook_t       set_node_;   set_auto_member_hook_t  set_auto_node_;   //SplaySet members   splay_set_member_hook_t       splay_set_node_;   splay_set_auto_member_hook_t  splay_set_auto_node_;   //ScapegoatSet members   bs_set_member_hook_t       sg_set_node_;   //AvlSet members   avl_set_member_hook_t       avl_set_node_;   avl_set_auto_member_hook_t  avl_set_auto_node_;   //Unordered set members   unordered_set_member_hook_t      unordered_set_node_;   unordered_set_auto_member_hook_t unordered_set_auto_node_;

⌨️ 快捷键说明

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