SimpleITK  
itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer > Class Template Reference

#include <sitkMemberFunctionFactoryBase.h>

+ Inheritance diagram for itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >:
+ Collaboration diagram for itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >:

Detailed Description

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
class itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >

Definition at line 83 of file sitkMemberFunctionFactoryBase.h.

Public Types

using FunctionObjectType = typename ::detail::FunctionTraits<MemberFunctionType>::FunctionObjectType
 

Public Member Functions

constexpr double GetLoadFactor () const noexcept
 
constexpr std::size_t GetMaximumLoadFactor () const noexcept
 
constexpr std::size_t GetMaxSize () const noexcept
 
constexpr std::size_t GetSize () const noexcept
 

Protected Types

using FunctionMapType = TContainer
 
using KeyType = TKey
 
using MemberFunctionResultType = typename ::detail::FunctionTraits<MemberFunctionType>::ResultType
 
using MemberFunctionType = TMemberFunctionPointer
 
using ObjectType = typename ::detail::FunctionTraits<MemberFunctionType>::ClassType
 

Protected Member Functions

 MemberFunctionFactoryBase ()=default
 

Static Protected Member Functions

template<typename... Args>
static FunctionObjectType BindObject (MemberFunctionResultType(ObjectType ::*pfunc)(Args...), ObjectType *objectPointer)
 

Protected Attributes

FunctionMapType m_PFunction
 

Member Typedef Documentation

◆ FunctionMapType

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
using itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::FunctionMapType = TContainer
protected

Definition at line 89 of file sitkMemberFunctionFactoryBase.h.

◆ FunctionObjectType

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
using itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::FunctionObjectType = typename ::detail::FunctionTraits<MemberFunctionType>::FunctionObjectType

the pointer MemberFunctionType redefined as a std::function object

Definition at line 97 of file sitkMemberFunctionFactoryBase.h.

◆ KeyType

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
using itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::KeyType = TKey
protected

Definition at line 124 of file sitkMemberFunctionFactoryBase.h.

◆ MemberFunctionResultType

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
using itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::MemberFunctionResultType = typename ::detail::FunctionTraits<MemberFunctionType>::ResultType
protected

Definition at line 88 of file sitkMemberFunctionFactoryBase.h.

◆ MemberFunctionType

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
using itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::MemberFunctionType = TMemberFunctionPointer
protected

Definition at line 86 of file sitkMemberFunctionFactoryBase.h.

◆ ObjectType

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
using itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::ObjectType = typename ::detail::FunctionTraits<MemberFunctionType>::ClassType
protected

Definition at line 87 of file sitkMemberFunctionFactoryBase.h.

Constructor & Destructor Documentation

◆ MemberFunctionFactoryBase()

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::MemberFunctionFactoryBase ( )
protecteddefault

Member Function Documentation

◆ BindObject()

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
template<typename... Args>
static FunctionObjectType itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::BindObject ( MemberFunctionResultType(ObjectType ::* pfunc )(Args...),
ObjectType * objectPointer )
inlinestaticprotected

A function which binds the objectPointer to the calling object argument in the member function pointer, and returns a function object

Definition at line 133 of file sitkMemberFunctionFactoryBase.h.

◆ GetLoadFactor()

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
double itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::GetLoadFactor ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 100 of file sitkMemberFunctionFactoryBase.h.

◆ GetMaximumLoadFactor()

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
std::size_t itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::GetMaximumLoadFactor ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 106 of file sitkMemberFunctionFactoryBase.h.

◆ GetMaxSize()

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
std::size_t itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::GetMaxSize ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 118 of file sitkMemberFunctionFactoryBase.h.

◆ GetSize()

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
std::size_t itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::GetSize ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 112 of file sitkMemberFunctionFactoryBase.h.

Member Data Documentation

◆ m_PFunction

template<typename TMemberFunctionPointer, typename TKey, class TContainer = std::unordered_map<TKey, TMemberFunctionPointer, hash<TKey>>>
FunctionMapType itk::simple::detail::MemberFunctionFactoryBase< TMemberFunctionPointer, TKey, TContainer >::m_PFunction
protected

Definition at line 141 of file sitkMemberFunctionFactoryBase.h.


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