IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
ipsdk::processor::DynamicByRangeDataSplit< TProcessor, TAttribute, CollField, ValueField > Class Template Reference

Template class for split range data used for dynamic data dispatch. More...

#include <DynamicByRangeDataSplit.h>

Inheritance diagram for ipsdk::processor::DynamicByRangeDataSplit< TProcessor, TAttribute, CollField, ValueField >:
ipsdk::processor::BaseDynamicSplit ipsdk::processor::BaseDataSplit

Public Types

typedef TProcessor ProcessorType
 processor type associated to object
 
typedef TAttribute AttributeType
 attribute type associated to object
 
typedef boost::enable_if< typename boost::is_same< boost::mpl::int_< AttributeType::g_attributeType >, boost::mpl::int_< processor::eAttributeType::eAT_DataItem > >::type, typename AttributeType::ValueType >::type DataItemType
 retrieve DataItem node type associated to attribute
 
typedef TAttribute::StorageType StorageType
 parameter storage type associated to object
 
typedef TAttribute::ValueType ValueType
 parameter type associated to object
 

Public Member Functions

eSplitDynamicType getSplitDynamicType () const
 retrieve dynamic split operation type
 
const std::string & getAttributeName () const
 retrieve attribute name associated to split operation
 
const std::string & getAttributeToolTip () const
 retrieve attribute tooltip associated to split operation
 
Constructors and destructors
 DynamicByRangeDataSplit ()
 
 ~DynamicByRangeDataSplit ()
 
void init (const StorageType &pDataItem, const IdxCollMapPtr &pIdxCollMap)
 object initialization method
 
void init (const StorageType &pDataItem)
 object initialization method
 
- Public Member Functions inherited from ipsdk::processor::BaseDynamicSplit
eSplitBaseType getSplitBaseType () const
 retrieve split operation base type
 
ipUInt64 getNbMinEltsPerSplit () const
 retrieve minimum number of elements for a split operation More...
 
ipUInt64 getNbMaxEltsPerSplit () const
 retrieve maximum number of elements for a split operation More...
 
BoolResult initAttribute (BaseProcessor &processor, const ipUInt64 elementsStartIndex, const ipUInt64 nbElements, const core::BaseRequestOrigin &requestOrigin)
 initialize processor attribute associate to split operation for a starting element index and a number of elements More...
 
 BaseDynamicSplit ()
 
virtual ~BaseDynamicSplit ()=0
 
- Public Member Functions inherited from ipsdk::processor::BaseDataSplit
bool isInit () const
 retrieve object initialization flag
 
bool isSplitted () const
 check whether object will be associated to split operation More...
 
const ElementsLocationInfogetElementsLocationInfo () const
 retrieve data location informations More...
 
ipUInt64 getFullMemorySize () const
 retrieve full memory data size for elements More...
 
bool areDataLocalized () const
 check whether data are localized More...
 
bool hasLocalData () const
 check whether some data are local data More...
 
bool hasRemoteData () const
 check whether some data are remote data More...
 
void disableDataLocalization ()
 method allowing to disable data localization More...
 
 BaseDataSplit ()
 
virtual ~BaseDataSplit ()=0
 
ipUInt64 getNbElements () const
 retrieve total number of elements associated to input data More...
 
ipUInt64 getDataMemorySize (const ipUInt64 elementIdx) const
 retrieve memory size of data for a given element More...
 
ipUInt64 getDataMemorySize () const
 retrieve memory size of data for a given element More...
 

Static Public Attributes

static const eSplitDynamicType::domain g_splitDynamicType = eSplitDynamicType::eSDT_ByRangeData
 type associated to split operation
 
- Static Public Attributes inherited from ipsdk::processor::BaseDynamicSplit
static const eSplitBaseType::domain g_splitBaseType = eSplitBaseType::eSBT_Dynamic
 data split type associated to object
 

Protected Member Functions

bool checkProcessorType (const BaseProcessor &processor)
 check processor type in derived class
 
BoolResult processAttribute (BaseProcessor &processor, const ipUInt64 elementIdx, const ipUInt64 nbElements, const core::BaseRequestOrigin &requestOrigin)
 initialize processor attribute associate to split operation for a given element index More...
 
- Protected Member Functions inherited from ipsdk::processor::BaseDynamicSplit
void initSplitted (const ElementsLocationInfo &elementsLocationInfo, const ipUInt64 nbMinEltsPerSplit=1, const ipUInt64 nbMaxEltsPerSplit=NumericLimits< ipUInt64 >::max())
 base class initialization method for splitted case More...
 
void initUnSplitted (const ElementsLocationInfo &elementsLocationInfo)
 base class initialization method for un splitted case More...
 
- Protected Member Functions inherited from ipsdk::processor::BaseDataSplit
void initBaseSplitted (const ElementsLocationInfo &elementsLocationInfo)
 base class initialization method for splitted elements More...
 
void initBaseUnSplitted (const ElementsLocationInfo &elementsLocationInfo)
 base class initialization method for un splitted elements More...
 
void throwNullInputSharedPtr ()
 

Protected Attributes

StorageType _pDataItem
 collection of elements associated to dynamic split
 
IdxCollMapPtr _pIdxCollMap
 collection of elements index associated to each splits
 
- Protected Attributes inherited from ipsdk::processor::BaseDynamicSplit
ipUInt64 _nbMinEltsPerSplit
 minimum number of elements for a split operation
 
ipUInt64 _nbMaxEltsPerSplit
 maximum number of elements for a split operation
 

Detailed Description

template<typename TProcessor, typename TAttribute, typename CollField, typename ValueField>
class ipsdk::processor::DynamicByRangeDataSplit< TProcessor, TAttribute, CollField, ValueField >

Template class for split range data used for dynamic data dispatch.

Author
H. Delestre
Date
2015/06/16

A request to processAttribute method will returned all data which value field belongs to interval [elementIdx, elementIdx+nbElements[

Member Function Documentation

◆ processAttribute()

template<typename TProcessor , typename TAttribute , typename CollField , typename ValueField >
BoolResult ipsdk::processor::DynamicByRangeDataSplit< TProcessor, TAttribute, CollField, ValueField >::processAttribute ( BaseProcessor processor,
const ipUInt64  elementIdx,
const ipUInt64  nbElements,
const core::BaseRequestOrigin requestOrigin 
)
inlineprotectedvirtual

initialize processor attribute associate to split operation for a given element index

Returns
false in case of failure

Implements ipsdk::processor::BaseDynamicSplit.


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