15 #ifndef __IPSDKBASEPROCESSING_DYNAMICSPLITOPERATORS_H__ 16 #define __IPSDKBASEPROCESSING_DYNAMICSPLITOPERATORS_H__ 18 #include <IPSDKBaseProcessing/DataSplit/Dynamic/Instances/DynamicNoSplit.h> 19 #include <IPSDKBaseProcessing/DataSplit/Dynamic/Instances/DynamicByCopyResultSplit.h> 20 #include <IPSDKBaseProcessing/DataSplit/Dynamic/Instances/DynamicByCreationResultSplit.h> 21 #include <IPSDKBaseProcessing/DataSplit/Dynamic/Instances/DynamicByRangeDataSplit.h> 22 #include <boost/make_shared.hpp> 31 template <
typename TProcessor,
typename TAttribute>
32 boost::shared_ptr<DynamicNoSplit<TProcessor, TAttribute> >
37 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
38 pDataSplit->
init(value);
45 template <
typename TProcessor,
typename TAttribute>
46 boost::shared_ptr<DynamicByCreationResultSplit<TProcessor, TAttribute> >
50 typename TAttribute::StorageType pDefaultValue(boost::make_shared<typename TAttribute::StorageType::element_type>());
54 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
55 pDataSplit->
init(pResultsColl);
59 template <
typename TProcessor,
typename TAttribute>
60 boost::shared_ptr<DynamicByCreationResultSplit<TProcessor, TAttribute> >
66 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
67 pDataSplit->
init(pResultsColl, pCreationFun);
71 template <
typename TProcessor,
typename TAttribute>
72 boost::shared_ptr<DynamicByCopyResultSplit<TProcessor, TAttribute> >
74 const typename TAttribute::StorageType& pDefaultValue)
78 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
79 pDataSplit->
init(pResultsColl, pDefaultValue);
83 template <
typename TProcessor,
typename TAttribute>
84 boost::shared_ptr<DynamicByCopyResultSplit<TProcessor, TAttribute> >
86 const typename TAttribute::StorageType& pDefaultValue,
91 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
92 pDataSplit->
init(pResultsColl, pDefaultValue, pCopyFunction);
100 template <
typename TProcessor,
typename TAttribute,
typename CollField,
typename ValueField>
101 boost::shared_ptr<DynamicByRangeDataSplit<TProcessor, TAttribute, CollField, ValueField> >
107 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
108 pDataSplit->
init(pDataItem, pIdxCollMap);
112 template <
typename TProcessor,
typename TAttribute,
typename CollField,
typename ValueField>
113 boost::shared_ptr<DynamicByRangeDataSplit<TProcessor, TAttribute, CollField, ValueField> >
118 boost::shared_ptr<DataSplit> pDataSplit = boost::make_shared<DataSplit>();
119 pDataSplit->
init(pDataItem);
131 #endif // __IPSDKBASEPROCESSING_DYNAMICSPLITOPERATORS_H__ boost::function< ParameterType(const ValueType &)> CopyFunType
used copy fonction type
Definition: DynamicByCopyResultSplit.h:63
void init(const ParameterType &value)
object initialization method
Definition: DynamicNoSplit.h:120
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
void init(const StorageType &pDataItem, const IdxCollMapPtr &pIdxCollMap)
object initialization method
Definition: DynamicByRangeDataSplit.h:142
boost::shared_ptr< ParameterColl > ParameterCollPtr
shared pointer to collection of elements associated to dynamic split
Definition: DynamicByCreationResultSplit.h:60
void init(const ParameterCollPtr &pParameterColl)
object initialization method
Definition: DynamicByCreationResultSplit.h:146
boost::shared_ptr< ParameterColl > ParameterCollPtr
shared pointer to collection of elements associated to dynamic split
Definition: DynamicByCopyResultSplit.h:60
boost::function< ParameterType(const ipUInt64, const ipUInt64)> CreationFunType
used creation fonction type
Definition: DynamicByCreationResultSplit.h:63
boost::shared_ptr< IdxCollMap > IdxCollMapPtr
shared pointer to collections of indices
Definition: DynamicSplitTypes.h:66
boost::shared_ptr< DynamicByRangeDataSplit< TProcessor, TAttribute, CollField, ValueField > > dynamicByRangeDataSplit(const typename TAttribute::StorageType &pDataItem, const IdxCollMapPtr &pIdxCollMap)
create a by range split data operation used for data dispatch
Definition: DynamicSplitOperators.h:102
Template class for results splitted data used for dynamic data dispatch.
Definition: DynamicByCreationResultSplit.h:35
void init(const ParameterCollPtr &pParameterColl, const ParameterType &pDefaultValue)
object initialization method
Definition: DynamicByCopyResultSplit.h:146
Template class for un-splitted data used for dynamic data dispatch.
Definition: DynamicNoSplit.h:27
Template class for results splitted data used for dynamic data dispatch.
Definition: DynamicByCopyResultSplit.h:35
boost::shared_ptr< DynamicByCopyResultSplit< TProcessor, TAttribute > > dynamicByCopyResultSplit(const typename DynamicByCopyResultSplit< TProcessor, TAttribute >::ParameterCollPtr &pResultsColl, const typename TAttribute::StorageType &pDefaultValue)
create a results splitted data operation used for data dispatch
Definition: DynamicSplitOperators.h:73
Template class for split range data used for dynamic data dispatch.
Definition: DynamicByRangeDataSplit.h:33
boost::shared_ptr< DynamicByCreationResultSplit< TProcessor, TAttribute > > dynamicByCreationResultSplit(const typename DynamicByCreationResultSplit< TProcessor, TAttribute >::ParameterCollPtr &pResultsColl)
create a results splitted data operation used for data dispatch
Definition: DynamicSplitOperators.h:47
boost::shared_ptr< DynamicNoSplit< TProcessor, TAttribute > > dynamicNoSplit(const typename TAttribute::StorageType &value)
create an un-splitted data operation used for data dispatch
Definition: DynamicSplitOperators.h:33