proxygen
IntrusiveList.h
Go to the documentation of this file.
1 /*
2  * Copyright 2011-present Facebook, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #pragma once
18 
19 /*
20  * This file contains convenience aliases that make boost::intrusive::list
21  * easier to use.
22  */
23 
24 #include <boost/intrusive/list.hpp>
25 
26 namespace folly {
27 
31 using IntrusiveListHook = boost::intrusive::list_member_hook<
32  boost::intrusive::link_mode<boost::intrusive::auto_unlink>>;
33 
64 template <typename T, IntrusiveListHook T::*PtrToMember>
66  T,
67  boost::intrusive::member_hook<T, IntrusiveListHook, PtrToMember>,
68  boost::intrusive::constant_time_size<false>>;
69 
73 using SafeIntrusiveListHook = boost::intrusive::list_member_hook<
74  boost::intrusive::link_mode<boost::intrusive::safe_link>>;
75 
112 template <typename T, SafeIntrusiveListHook T::*PtrToMember>
114  T,
115  boost::intrusive::member_hook<T, SafeIntrusiveListHook, PtrToMember>,
116  boost::intrusive::constant_time_size<true>>;
117 
118 } // namespace folly
folly::std T
—— Concurrent Priority Queue Implementation ——
Definition: AtomicBitSet.h:29
boost::intrusive::list_member_hook< boost::intrusive::link_mode< boost::intrusive::auto_unlink >> IntrusiveListHook
Definition: IntrusiveList.h:32
Encoder::MutableCompressedList list
boost::intrusive::list< T, boost::intrusive::member_hook< T, IntrusiveListHook, PtrToMember >, boost::intrusive::constant_time_size< false >> IntrusiveList
Definition: IntrusiveList.h:68
boost::intrusive::list_member_hook< boost::intrusive::link_mode< boost::intrusive::safe_link >> SafeIntrusiveListHook
Definition: IntrusiveList.h:74
boost::intrusive::list< T, boost::intrusive::member_hook< T, SafeIntrusiveListHook, PtrToMember >, boost::intrusive::constant_time_size< true >> CountedIntrusiveList