Go to the documentation of this file.
18 #ifndef sitkMemberFunctionFactory_h
19 #define sitkMemberFunctionFactory_h
54 template <
typename TMemberFunctionPo
inter>
65 using ObjectType = typename ::detail::FunctionTraits<MemberFunctionType>::ClassType;
77 template<
typename TImageType >
120 template <
typename TPixelIDTypeList,
121 unsigned int VImageDimension,
122 typename TAddressor >
124 template <
typename TPixelIDTypeList,
unsigned int VImageDimension >
128 this->RegisterMemberFunctions< TPixelIDTypeList, VImageDimension, AddressorType >();
131 template <
typename TPixelIDTypeList,
unsigned int VImageDimension,
unsigned int VImageDimensionStop >
136 this->RegisterMemberFunctions< TPixelIDTypeList, VImageDimension, VImageDimensionStop, AddressorType >();
138 template <
typename TPixelIDTypeList,
139 unsigned int VImageDimension,
140 unsigned int VImageDimensionStop,
143 typename std::enable_if<(VImageDimensionStop > VImageDimension)>::type
146 this->RegisterMemberFunctions< TPixelIDTypeList, VImageDimensionStop, TAddressor >();
149 template <
typename TPixelIDTypeList,
150 unsigned int VImageDimension,
151 unsigned int VImageDimensionStop,
152 typename TAddressor >
153 typename std::enable_if<(VImageDimensionStop == VImageDimension)>::type
156 this->RegisterMemberFunctions< TPixelIDTypeList, VImageDimensionStop, TAddressor >();
196 #include "sitkMemberFunctionFactory.hxx"
198 #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.