5 #ifndef ctrlplane_label_block_h
6 #define ctrlplane_label_block_h
11 #include <boost/intrusive_ptr.hpp>
61 int prev = block_manager->
refcount_.fetch_sub(1);
120 int prev = block->
refcount_.fetch_sub(1);
std::vector< LabelBlock * > LabelBlockList
friend void intrusive_ptr_release(LabelBlockManager *block_manager)
LabelBlockPtr LocateBlock(uint32_t first, uint32_t last)
std::atomic< int > refcount_
void RemoveBlock(LabelBlock *block)
friend void intrusive_ptr_add_ref(LabelBlockManager *block_manager)
friend class LabelBlockTest
friend void intrusive_ptr_add_ref(LabelBlock *block)
std::atomic< int > refcount_
LabelBlockManagerPtr block_manager_
LabelBlock(uint32_t first, uint32_t last)
LabelBlockManagerPtr block_manager()
std::string ToString() const
void ReleaseLabel(uint32_t value)
friend void intrusive_ptr_release(LabelBlock *block)
friend class LabelBlockTest
void intrusive_ptr_release(LabelBlockManager *block_manager)
boost::intrusive_ptr< LabelBlock > LabelBlockPtr
void intrusive_ptr_add_ref(LabelBlockManager *block_manager)
boost::intrusive_ptr< LabelBlockManager > LabelBlockManagerPtr