te::rp::SegmenterIdsManager Class Reference

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::SegmentIdDataTypem_freeIDs
 
boost::mutex m_mutex
 
volatile SegmenterSegmentsBlock::SegmentIdDataType m_segmentsIdsCounter
 

Detailed Description

Segmenter segments IDs manager.

Definition at line 44 of file SegmenterIdsManager.h.

Constructor & Destructor Documentation

te::rp::SegmenterIdsManager::SegmenterIdsManager ( )
te::rp::SegmenterIdsManager::~SegmenterIdsManager ( )

Member Function Documentation

void te::rp::SegmenterIdsManager::addFreeID ( const SegmenterSegmentsBlock::SegmentIdDataType id)

Stores a free unique ID for later use.

Parameters
idThe segment ID.
Note
This method is thread safe.
void te::rp::SegmenterIdsManager::addFreeIDs ( const std::vector< SegmenterSegmentsBlock::SegmentIdDataType > &  ids)

Stores free unique IDs for later use.

Parameters
idsThe segment IDs.
Note
This method is thread safe.

Referenced by te::rp::rg::mergeSegments().

void te::rp::SegmenterIdsManager::addFreeIDs ( const std::list< SegmenterSegmentsBlock::SegmentIdDataType > &  ids)

Stores free unique IDs for later use.

Parameters
idsThe segment IDs.
Note
This method is thread safe.
SegmenterSegmentsBlock::SegmentIdDataType te::rp::SegmenterIdsManager::getNewID ( )

Returns a new segment unique ID.

Returns
id A positive new segment ID or zero if an error occurred.
Note
This method is thread safe.
bool te::rp::SegmenterIdsManager::getNewIDs ( const unsigned int &  idsNumber,
std::vector< SegmenterSegmentsBlock::SegmentIdDataType > &  ids 
)

Returns new segment unique IDs.

Parameters
idsNumberThe number of unique IDs to return.
idThe segment IDs.
Returns
true if OK, false on errors.
Note
This method is thread safe.

Member Data Documentation

std::list< SegmenterSegmentsBlock::SegmentIdDataType > te::rp::SegmenterIdsManager::m_freeIDs
protected

Internal free segments IDs list

Definition at line 102 of file SegmenterIdsManager.h.

boost::mutex te::rp::SegmenterIdsManager::m_mutex
protected

Internal free segments IDs counter mutex

Definition at line 99 of file SegmenterIdsManager.h.

volatile SegmenterSegmentsBlock::SegmentIdDataType te::rp::SegmenterIdsManager::m_segmentsIdsCounter
protected

Internal free segments IDs counter - default 0)

Definition at line 96 of file SegmenterIdsManager.h.


The documentation for this class was generated from the following file: