/
usr
/
include
/
boost
/
intrusive
/
/usr/include/boost/intrusive
mkdir
upload
Name
Size
Mode
Actions
detail/
-
0755
rm
any_hook.hpp
10506
0644
edit
dl
rm
avltree.hpp
24124
0644
edit
dl
rm
avltree_algorithms.hpp
28978
0644
edit
dl
rm
avl_set.hpp
45382
0644
edit
dl
rm
avl_set_hook.hpp
10965
0644
edit
dl
rm
bstree.hpp
95208
0644
edit
dl
rm
bstree_algorithms.hpp
80071
0644
edit
dl
rm
bs_set.hpp
44898
0644
edit
dl
rm
bs_set_hook.hpp
10501
0644
edit
dl
rm
circular_list_algorithms.hpp
15376
0644
edit
dl
rm
circular_slist_algorithms.hpp
15029
0644
edit
dl
rm
derivation_value_traits.hpp
2749
0644
edit
dl
rm
hashtable.hpp
156071
0644
edit
dl
rm
intrusive_fwd.hpp
16382
0644
edit
dl
rm
linear_slist_algorithms.hpp
11968
0644
edit
dl
rm
link_mode.hpp
2091
0644
edit
dl
rm
list.hpp
58089
0644
edit
dl
rm
list_hook.hpp
10171
0644
edit
dl
rm
member_value_traits.hpp
3481
0644
edit
dl
rm
options.hpp
10996
0644
edit
dl
rm
pack_options.hpp
10174
0644
edit
dl
rm
parent_from_member.hpp
2005
0644
edit
dl
rm
pointer_plus_bits.hpp
3752
0644
edit
dl
rm
pointer_rebind.hpp
6306
0644
edit
dl
rm
pointer_traits.hpp
13898
0644
edit
dl
rm
priority_compare.hpp
1812
0644
edit
dl
rm
rbtree.hpp
24245
0644
edit
dl
rm
rbtree_algorithms.hpp
25974
0644
edit
dl
rm
set.hpp
44751
0644
edit
dl
rm
set_hook.hpp
10812
0644
edit
dl
rm
sgtree.hpp
41893
0644
edit
dl
rm
sgtree_algorithms.hpp
17515
0644
edit
dl
rm
sg_set.hpp
45729
0644
edit
dl
rm
slist.hpp
88492
0644
edit
dl
rm
slist_hook.hpp
10868
0644
edit
dl
rm
splaytree.hpp
28325
0644
edit
dl
rm
splaytree_algorithms.hpp
29751
0644
edit
dl
rm
splay_set.hpp
47535
0644
edit
dl
rm
treap.hpp
58870
0644
edit
dl
rm
treap_algorithms.hpp
29327
0644
edit
dl
rm
treap_set.hpp
47387
0644
edit
dl
rm
trivial_value_traits.hpp
2381
0644
edit
dl
rm
unordered_set.hpp
45070
0644
edit
dl
rm
unordered_set_hook.hpp
16770
0644
edit
dl
rm
Edit:
/usr/include/boost/intrusive/pointer_rebind.hpp
(6306B)
////////////////////////////////////////////////////////////////////////////// // // (C) Copyright Ion Gaztanaga 2014-2014. 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_POINTER_REBIND_HPP #define BOOST_INTRUSIVE_POINTER_REBIND_HPP #ifndef BOOST_INTRUSIVE_DETAIL_WORKAROUND_HPP #include <boost/intrusive/detail/workaround.hpp> #endif //BOOST_INTRUSIVE_DETAIL_WORKAROUND_HPP #ifndef BOOST_CONFIG_HPP # include <boost/config.hpp> #endif #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif namespace boost { namespace intrusive { /////////////////////////// //struct pointer_rebind_mode /////////////////////////// template <typename Ptr, typename U> struct pointer_has_rebind { template <typename V> struct any { any(const V&) { } }; template <typename X> static char test(int, typename X::template rebind<U>*); template <typename X> static int test(any<int>, void*); static const bool value = (1 == sizeof(test<Ptr>(0, 0))); }; template <typename Ptr, typename U> struct pointer_has_rebind_other { template <typename V> struct any { any(const V&) { } }; template <typename X> static char test(int, typename X::template rebind<U>::other*); template <typename X> static int test(any<int>, void*); static const bool value = (1 == sizeof(test<Ptr>(0, 0))); }; template <typename Ptr, typename U> struct pointer_rebind_mode { static const unsigned int rebind = (unsigned int)pointer_has_rebind<Ptr, U>::value; static const unsigned int rebind_other = (unsigned int)pointer_has_rebind_other<Ptr, U>::value; static const unsigned int mode = rebind + rebind*rebind_other; }; //////////////////////// //struct pointer_rebinder //////////////////////// template <typename Ptr, typename U, unsigned int RebindMode> struct pointer_rebinder; // Implementation of pointer_rebinder<U>::type if Ptr has // its own rebind<U>::other type (C++03) template <typename Ptr, typename U> struct pointer_rebinder< Ptr, U, 2u > { typedef typename Ptr::template rebind<U>::other type; }; // Implementation of pointer_rebinder<U>::type if Ptr has // its own rebind template. template <typename Ptr, typename U> struct pointer_rebinder< Ptr, U, 1u > { typedef typename Ptr::template rebind<U> type; }; // Specialization of pointer_rebinder if Ptr does not // have its own rebind template but has a the form Ptr<A, An...>, // where An... comprises zero or more type parameters. // Many types fit this form, hence many pointers will get a // reasonable default for rebind. #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) template <template <class, class...> class Ptr, typename A, class... An, class U> struct pointer_rebinder<Ptr<A, An...>, U, 0u > { typedef Ptr<U, An...> type; }; //Needed for non-conforming compilers like GCC 4.3 template <template <class> class Ptr, typename A, class U> struct pointer_rebinder<Ptr<A>, U, 0u > { typedef Ptr<U> type; }; #else //C++03 compilers template <template <class> class Ptr //0arg , typename A , class U> struct pointer_rebinder<Ptr<A>, U, 0u> { typedef Ptr<U> type; }; template <template <class, class> class Ptr //1arg , typename A, class P0 , class U> struct pointer_rebinder<Ptr<A, P0>, U, 0u> { typedef Ptr<U, P0> type; }; template <template <class, class, class> class Ptr //2arg , typename A, class P0, class P1 , class U> struct pointer_rebinder<Ptr<A, P0, P1>, U, 0u> { typedef Ptr<U, P0, P1> type; }; template <template <class, class, class, class> class Ptr //3arg , typename A, class P0, class P1, class P2 , class U> struct pointer_rebinder<Ptr<A, P0, P1, P2>, U, 0u> { typedef Ptr<U, P0, P1, P2> type; }; template <template <class, class, class, class, class> class Ptr //4arg , typename A, class P0, class P1, class P2, class P3 , class U> struct pointer_rebinder<Ptr<A, P0, P1, P2, P3>, U, 0u> { typedef Ptr<U, P0, P1, P2, P3> type; }; template <template <class, class, class, class, class, class> class Ptr //5arg , typename A, class P0, class P1, class P2, class P3, class P4 , class U> struct pointer_rebinder<Ptr<A, P0, P1, P2, P3, P4>, U, 0u> { typedef Ptr<U, P0, P1, P2, P3, P4> type; }; template <template <class, class, class, class, class, class, class> class Ptr //6arg , typename A, class P0, class P1, class P2, class P3, class P4, class P5 , class U> struct pointer_rebinder<Ptr<A, P0, P1, P2, P3, P4, P5>, U, 0u> { typedef Ptr<U, P0, P1, P2, P3, P4, P5> type; }; template <template <class, class, class, class, class, class, class, class> class Ptr //7arg , typename A, class P0, class P1, class P2, class P3, class P4, class P5, class P6 , class U> struct pointer_rebinder<Ptr<A, P0, P1, P2, P3, P4, P5, P6>, U, 0u> { typedef Ptr<U, P0, P1, P2, P3, P4, P5, P6> type; }; template <template <class, class, class, class, class, class, class, class, class> class Ptr //8arg , typename A, class P0, class P1, class P2, class P3, class P4, class P5, class P6, class P7 , class U> struct pointer_rebinder<Ptr<A, P0, P1, P2, P3, P4, P5, P6, P7>, U, 0u> { typedef Ptr<U, P0, P1, P2, P3, P4, P5, P6, P7> type; }; template <template <class, class, class, class, class, class, class, class, class, class> class Ptr //9arg , typename A, class P0, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8 , class U> struct pointer_rebinder<Ptr<A, P0, P1, P2, P3, P4, P5, P6, P7, P8>, U, 0u> { typedef Ptr<U, P0, P1, P2, P3, P4, P5, P6, P7, P8> type; }; #endif //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) template <typename Ptr, typename U> struct pointer_rebind : public pointer_rebinder<Ptr, U, pointer_rebind_mode<Ptr, U>::mode> {}; template <typename T, typename U> struct pointer_rebind<T*, U> { typedef U* type; }; } //namespace container { } //namespace boost { #endif // defined(BOOST_INTRUSIVE_POINTER_REBIND_HPP)
Save
cmd:
run