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::DynamicByCreationResultSplit< TProcessor, TAttribute > Class Template Reference

Template class for results splitted data used for dynamic data dispatch. More...

#include <DynamicByCreationResultSplit.h>

Inheritance diagram for ipsdk::processor::DynamicByCreationResultSplit< TProcessor, TAttribute >:
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 TAttribute::ValueType ValueType
 parameter value type
 
typedef boost::enable_if< typename boost::is_same< typename TAttribute::StorageType, boost::shared_ptr< typename TAttribute::ValueType > >::type, typename TAttribute::StorageType >::type ParameterType
 parameter type associated to object
 
typedef std::map< ElementsRange, ParameterTypeParameterColl
 collection of elements associated to dynamic split indexed by elements range
 
typedef boost::shared_ptr< ParameterCollParameterCollPtr
 shared pointer to collection of elements associated to dynamic split
 
typedef boost::function< ParameterType(const ipUInt64, const ipUInt64)> CreationFunType
 used creation fonction type
 

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
 DynamicByCreationResultSplit ()
 
 ~DynamicByCreationResultSplit ()
 
void init (const ParameterCollPtr &pParameterColl)
 object initialization method More...
 
void init (const ParameterCollPtr &pParameterColl, const CreationFunType &pCreationFun)
 object initialization method More...
 
- 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_ByCreationResult
 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

ParameterCollPtr _pParameterColl
 collection of elements associated to dynamic split
 
CreationFunType _pCreationFun
 used creation function
 
- 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>
class ipsdk::processor::DynamicByCreationResultSplit< TProcessor, TAttribute >

Template class for results splitted data used for dynamic data dispatch.

Author
E. Noirfalise
Date
2014/03/07

Member Function Documentation

◆ init() [1/2]

template<typename TProcessor , typename TAttribute >
void ipsdk::processor::DynamicByCreationResultSplit< TProcessor, TAttribute >::init ( const ParameterCollPtr pParameterColl)
inline

object initialization method

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif pParameterColl.get() == 0

◆ init() [2/2]

template<typename TProcessor , typename TAttribute >
void ipsdk::processor::DynamicByCreationResultSplit< TProcessor, TAttribute >::init ( const ParameterCollPtr pParameterColl,
const CreationFunType pCreationFun 
)
inline

object initialization method

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif pParameterColl.get() == 0

◆ processAttribute()

template<typename TProcessor , typename TAttribute >
BoolResult ipsdk::processor::DynamicByCreationResultSplit< TProcessor, TAttribute >::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: