Go to the documentation of this file.
18 #ifndef sitkDualMemberFunctionFactory_h
19 #define sitkDualMemberFunctionFactory_h
59 template <
typename TMemberFunctionPo
inter>
70 using ObjectType = typename ::detail::FunctionTraits<MemberFunctionType>::ClassType;
80 template<
typename TImageType1,
typename TImageType2 >
120 template <
typename TPixelIDTypeList1,
121 typename TPixelIDTypeList2,
122 unsigned int VImageDimension,
123 typename TAddressor >
125 template <
typename TPixelIDTypeList1,
126 typename TPixelIDTypeList2,
127 unsigned int VImageDimension >
131 this->RegisterMemberFunctions< TPixelIDTypeList1, TPixelIDTypeList2, VImageDimension, AddressorType>();
134 template <
typename TPixelIDTypeList,
135 unsigned int VImageDimension,
136 typename TAddressor >
138 template <
typename TPixelIDTypeList,
139 unsigned int VImageDimension >
143 this->RegisterMemberFunctions< TPixelIDTypeList, VImageDimension, AddressorType>();
152 unsigned int imageDimension )
const noexcept;
184 #include "sitkDualMemberFunctionFactory.hxx"
186 #endif // sitkDualMemberFunctionFactory_h
void RegisterMemberFunctions()
Registers the member functions for all combinations of TPixelIDTypeList1 and PixelIDTypeList2.
void Register(MemberFunctionType pfunc, TImageType1 *, TImageType2 *)
Registers a specific member function.
A class used to instantiate and generate function objects of templated member functions with two temp...
bool HasMemberFunction(PixelIDValueType pixelID1, PixelIDValueType pixelID2, unsigned int imageDimension) const noexcept
Query to determine if an member function has been registered for pixelID1, pixelID2 and imageDimensio...
FunctionObjectType GetMemberFunction(PixelIDValueType pixelID1, PixelIDValueType pixelID2, unsigned int imageDimension)
Returns a function object for the combination of PixelID1 and PixelID2, and image dimension.
void RegisterMemberFunctions()
Registers the member functions for all combinations of TPixelIDTypeList1 and PixelIDTypeList2.
typename ::detail::FunctionTraits< MemberFunctionType >::ClassType ObjectType
ObjectType * m_ObjectPointer
typename Superclass::FunctionObjectType FunctionObjectType
DualMemberFunctionFactory(ObjectType *pObject)
Constructor which permanently binds the constructed object to pObject.
MemberFunctionType MemberFunctionType
void RegisterMemberFunctions()
Registers the member functions for all combinations of TPixelIDTypeList1 and PixelIDTypeList2.
A base class for the MemberFunctionFactory.