IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
ipsdk::processor::CudaFunctionSelector Class Reference
Inheritance diagram for ipsdk::processor::CudaFunctionSelector:
ipsdk::BaseDynamicObject

Public Types

typedef CudaFunctionIdentifier FunctionId
 algorithm function identifier type used by processing algorithm
 
typedef DataTypeIdentifierColl DataTypeIdColl
 data type identifier collection used by processing algorithm
 
typedef CudaFunctionIdentifier::FunctionType FunctionType
 

Public Member Functions

bool exists (const FunctionId &functionId) const
 check whether a processing function has already been registred More...
 
bool registerFunction (const FunctionId &functionId)
 add a new function to collection More...
 
const FunctionType getFunction (const FunctionId &functionId) const
 Returns the function associated to the key. More...
 
const FunctionIdretrieveFunctionIdentifier (const DataTypeIdColl &dataTypeIdColl) const
 retrieve processing function on local computer associated to given processing data types and an optional instruction set collection More...
 
void clear ()
 clear object data
 
Constructors and destructors
 CudaFunctionSelector ()
 
 ~CudaFunctionSelector ()
 
- Public Member Functions inherited from ipsdk::BaseDynamicObject
virtual const std::string & getClassName () const
 method allowing to retrieve object class name
 
virtual BaseDynamicObjectcreateNew () const =0
 method allowing to create new instance of current object type
 
virtual DynamicObjectPtr createShared () const =0
 method allowing to create new shared instance of current object type
 
virtual bool hasCopySupport () const =0
 check whether objet has copy support
 
virtual BaseDynamicObjectduplicate () const =0
 method allowing to duplicate current object More...
 
virtual DynamicObjectPtr duplicateShared () const =0
 method allowing shared duplication of current object More...
 
 BaseDynamicObject ()
 
virtual ~BaseDynamicObject ()=0
 

Protected Types

typedef std::map< DataTypeIdColl, FunctionIdFunctionsColl
 function identifiers sorted by data types
 

Protected Attributes

FunctionsColl _functionsColl
 collection of function identifiers sorted by processing data types
 

Additional Inherited Members

- Static Public Member Functions inherited from ipsdk::BaseDynamicObject
static const std::string & getTypeName ()
 method allowing to retrieve name associated to class
 
- Protected Member Functions inherited from ipsdk::BaseDynamicObject
virtual void initCtorCopy (const BaseDynamicObject &object)
 
virtual void copy (const BaseDynamicObject &object)
 method allowing to copy data from another object
 

Member Function Documentation

◆ exists()

bool ipsdk::processor::CudaFunctionSelector::exists ( const FunctionId functionId) const

check whether a processing function has already been registred

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif functionId.isInit() == false
ipsdk::processor::IPSDKBaseProcessingExceptionif underlying data type identifier types mismatch

◆ registerFunction()

bool ipsdk::processor::CudaFunctionSelector::registerFunction ( const FunctionId functionId)

add a new function to collection

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif exists(functionKey) == true
Returns
false if function is not supported by local computer

◆ getFunction()

const FunctionType ipsdk::processor::CudaFunctionSelector::getFunction ( const FunctionId functionId) const

Returns the function associated to the key.

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif exists(functionKey) == true
Returns
false if function is not supported by local computer

◆ retrieveFunctionIdentifier()

const FunctionId& ipsdk::processor::CudaFunctionSelector::retrieveFunctionIdentifier ( const DataTypeIdColl dataTypeIdColl) const

retrieve processing function on local computer associated to given processing data types and an optional instruction set collection

Note
if instruction set collection and number of data by element to process are not provided method retrieve most efficient available processing function on local computer
Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isAvailableFunction(dataTypeIdColl, instructionSetsId, nbDataToProcess, nbInitData, nbFinalData) == false

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