Segmenter segments IDs manager. More...
#include <SegmenterIdsManager.h>
Public Member Functions | |
void | addFreeID (const SegmenterSegmentsBlock::SegmentIdDataType &id) |
Stores a free unique ID for later use. More... | |
void | addFreeIDs (const std::vector< SegmenterSegmentsBlock::SegmentIdDataType > &ids) |
Stores free unique IDs for later use. More... | |
void | addFreeIDs (const std::list< SegmenterSegmentsBlock::SegmentIdDataType > &ids) |
Stores free unique IDs for later use. More... | |
SegmenterSegmentsBlock::SegmentIdDataType | getNewID () |
Returns a new segment unique ID. More... | |
bool | getNewIDs (const unsigned int &idsNumber, std::vector< SegmenterSegmentsBlock::SegmentIdDataType > &ids) |
Returns new segment unique IDs. More... | |
SegmenterIdsManager () | |
~SegmenterIdsManager () | |
Protected Attributes | |
std::list < SegmenterSegmentsBlock::SegmentIdDataType > | m_freeIDs |
boost::mutex | m_mutex |
volatile SegmenterSegmentsBlock::SegmentIdDataType | m_segmentsIdsCounter |
Segmenter segments IDs manager.
Definition at line 44 of file SegmenterIdsManager.h.
te::rp::SegmenterIdsManager::SegmenterIdsManager | ( | ) |
Definition at line 8 of file SegmenterIdsManager.cpp.
References m_segmentsIdsCounter.
te::rp::SegmenterIdsManager::~SegmenterIdsManager | ( | ) |
Definition at line 14 of file SegmenterIdsManager.cpp.
void te::rp::SegmenterIdsManager::addFreeID | ( | const SegmenterSegmentsBlock::SegmentIdDataType & | id | ) |
Stores a free unique ID for later use.
id | The segment ID. |
Definition at line 80 of file SegmenterIdsManager.cpp.
void te::rp::SegmenterIdsManager::addFreeIDs | ( | const std::vector< SegmenterSegmentsBlock::SegmentIdDataType > & | ids | ) |
Stores free unique IDs for later use.
ids | The segment IDs. |
Definition at line 89 of file SegmenterIdsManager.cpp.
References m_freeIDs, and m_mutex.
Referenced by te::rp::SegmenterRegionGrowingStrategy::initializeSegments(), and te::rp::SegmenterRegionGrowingStrategy::mergeSegments().
void te::rp::SegmenterIdsManager::addFreeIDs | ( | const std::list< SegmenterSegmentsBlock::SegmentIdDataType > & | ids | ) |
Stores free unique IDs for later use.
ids | The segment IDs. |
Definition at line 104 of file SegmenterIdsManager.cpp.
SegmenterSegmentsBlock::SegmentIdDataType te::rp::SegmenterIdsManager::getNewID | ( | ) |
Returns a new segment unique ID.
Definition at line 18 of file SegmenterIdsManager.cpp.
References m_freeIDs, m_mutex, and m_segmentsIdsCounter.
bool te::rp::SegmenterIdsManager::getNewIDs | ( | const unsigned int & | idsNumber, |
std::vector< SegmenterSegmentsBlock::SegmentIdDataType > & | ids | ||
) |
Returns new segment unique IDs.
idsNumber | The number of unique IDs to return. |
id | The segment IDs. |
Definition at line 44 of file SegmenterIdsManager.cpp.
References m_freeIDs, m_mutex, and m_segmentsIdsCounter.
Referenced by te::rp::SegmenterRegionGrowingStrategy::initializeSegments().
|
protected |
Internal free segments IDs list
Definition at line 97 of file SegmenterIdsManager.h.
Referenced by addFreeID(), addFreeIDs(), getNewID(), and getNewIDs().
|
protected |
Internal free segments IDs counter mutex
Definition at line 94 of file SegmenterIdsManager.h.
Referenced by addFreeID(), addFreeIDs(), getNewID(), and getNewIDs().
|
protected |
Internal free segments IDs counter - default 0)
Definition at line 91 of file SegmenterIdsManager.h.
Referenced by getNewID(), getNewIDs(), and SegmenterIdsManager().