Go to the documentation of this file.
18 #ifndef sitkMemberFunctionFactory_h
19 #define sitkMemberFunctionFactory_h
50 template <
typename TMemberFunctionPo
inter>
59 using ObjectType = typename ::detail::FunctionTraits<MemberFunctionType>::ClassType;
71 template <
typename TImageType>
115 template <
typename TPixelIDTypeList,
unsigned int VImageDimension,
typename TAddressor>
118 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,
140 this->RegisterMemberFunctions<TPixelIDTypeList, VImageDimensionStop, TAddressor>();
141 if constexpr (VImageDimensionStop > VImageDimension)
182 #include "sitkMemberFunctionFactory.hxx"
184 #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::...
void RegisterMemberFunctions()
Registers all member functions in TPixelIDTypeList and simple::InstantiatedPixelIDTypeList over itk::...
typename ::detail::FunctionTraits< MemberFunctionType >::FunctionObjectType FunctionObjectType
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::...
MemberFunctionFactory(ObjectType *pObject)
Constructor which permanently binds the constructed object to pObject.