Go to the documentation of this file.
18 #ifndef sitkMemberFunctionFactory_h
19 #define sitkMemberFunctionFactory_h
49 template <
typename TMemberFunctionPo
inter>
60 using ObjectType = typename ::detail::FunctionTraits<MemberFunctionType>::ClassType;
72 template<
typename TImageType >
115 template <
typename TPixelIDTypeList,
116 unsigned int VImageDimension,
117 typename TAddressor >
119 template <
typename TPixelIDTypeList,
unsigned int VImageDimension >
123 this->RegisterMemberFunctions< TPixelIDTypeList, VImageDimension, AddressorType >();
126 template <
typename TPixelIDTypeList,
unsigned int VImageDimension,
unsigned int VImageDimensionStop >
131 this->RegisterMemberFunctions< TPixelIDTypeList, VImageDimension, VImageDimensionStop, AddressorType >();
133 template <
typename TPixelIDTypeList,
134 unsigned int VImageDimension,
135 unsigned int VImageDimensionStop,
138 typename std::enable_if<(VImageDimensionStop > VImageDimension)>::type
141 this->RegisterMemberFunctions< TPixelIDTypeList, VImageDimensionStop, TAddressor >();
144 template <
typename TPixelIDTypeList,
145 unsigned int VImageDimension,
146 unsigned int VImageDimensionStop,
147 typename TAddressor >
148 typename std::enable_if<(VImageDimensionStop == VImageDimension)>::type
151 this->RegisterMemberFunctions< TPixelIDTypeList, VImageDimensionStop, TAddressor >();
189 #include "sitkMemberFunctionFactory.hxx"
191 #endif // sitkMemberFunctionFactory_h
typename Superclass::FunctionObjectType FunctionObjectType
void Register(MemberFunctionType pfunc, TImageType *)
Registers a specific member function.
FunctionObjectType GetMemberFunction(PixelIDValueType pixelID, unsigned int imageDimension)
Returns a function object for the PixelIndex, and image dimension.
MemberFunctionType MemberFunctionType
A class used to instantiate and generate function object to templated member functions.
void RegisterMemberFunctions()
Registers all member functions in TPixelIDTypeList and simple::InstantiatedPixelIDTypeList over itk::...
bool HasMemberFunction(PixelIDValueType pixelID, unsigned int imageDimension) const noexcept
Query to determine if an member function has been registered for pixelID and imageDimension.
typename ::detail::FunctionTraits< MemberFunctionType >::ClassType ObjectType
ObjectType * m_ObjectPointer
void RegisterMemberFunctions()
Registers all member functions in TPixelIDTypeList and simple::InstantiatedPixelIDTypeList over itk::...
std::enable_if<(VImageDimensionStop==VImageDimension)>::type RegisterMemberFunctions()
Registers all member functions in TPixelIDTypeList and simple::InstantiatedPixelIDTypeList over itk::...
std::enable_if<(VImageDimensionStop > VImageDimension)>::type RegisterMemberFunctions()
Registers all member functions in TPixelIDTypeList and simple::InstantiatedPixelIDTypeList over itk::...
MemberFunctionFactory(ObjectType *pObject)
Constructor which permanently binds the constructed object to pObject.
A base class for the MemberFunctionFactory.