multiset_test.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 118 行

CPP
118
字号
///////////////////////////////////////////////////////////////////////////////// (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.///////////////////////////////////////////////////////////////////////////////#include <boost/intrusive/detail/config_begin.hpp>#include <boost/intrusive/set.hpp>#include "itestvalue.hpp"#include "smart_ptr.hpp"#include "generic_multiset_test.hpp"template< class ValueType        , class Option1 = boost::intrusive::none        , class Option2 = boost::intrusive::none        , class Option3 = boost::intrusive::none        >struct GetContainer{   typedef boost::intrusive::multiset      < ValueType      , Option1      , Option2      , Option3      > type;};template<class VoidPointer, bool constant_time_size>class test_main_template{   public:   int operator()()   {      using namespace boost::intrusive;      typedef testvalue<VoidPointer, constant_time_size> value_type;      test::test_generic_multiset < typename detail::get_base_value_traits                  < value_type                  , typename value_type::set_base_hook_t                  >::type                , GetContainer                >::test_all();      test::test_generic_multiset < typename detail::get_member_value_traits                  < value_type                  , member_hook< value_type                               , typename value_type::set_member_hook_t                               , &value_type::set_node_                               >                  >::type                , GetContainer                >::test_all();      return 0;   }};template<class VoidPointer>class test_main_template<VoidPointer, false>{   public:   int operator()()   {      using namespace boost::intrusive;      typedef testvalue<VoidPointer, false> value_type;      test::test_generic_multiset < typename detail::get_base_value_traits                  < value_type                  , typename value_type::set_base_hook_t                  >::type                , GetContainer                >::test_all();      test::test_generic_multiset < typename detail::get_member_value_traits                  < value_type                  , member_hook< value_type                               , typename value_type::set_member_hook_t                               , &value_type::set_node_                               >                  >::type                , GetContainer                >::test_all();      test::test_generic_multiset < typename detail::get_base_value_traits                  < value_type                  , typename value_type::set_auto_base_hook_t                  >::type                , GetContainer                >::test_all();      test::test_generic_multiset < typename detail::get_member_value_traits                  < value_type                  , member_hook< value_type                               , typename value_type::set_auto_member_hook_t                               , &value_type::set_auto_node_                               >                  >::type                , GetContainer                >::test_all();      return 0;   }};int main( int, char* [] ) {   test_main_template<void*, false>()();   test_main_template<boost::intrusive::smart_ptr<void>, false>()();   test_main_template<void*, true>()();   test_main_template<boost::intrusive::smart_ptr<void>, true>()();   return boost::report_errors();}#include <boost/intrusive/detail/config_end.hpp>

⌨️ 快捷键说明

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