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(), te::rp::SegmenterRegionGrowingStrategy::mergeSegments(), and te::rp::SegmenterRegionGrowingStrategy::mergeSmallSegments().
| 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().