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 + -
显示快捷键?