19#ifndef elxComponentDatabase_h
20#define elxComponentDatabase_h
23#include "itkObjectFactory.h"
94 using IndexMapKeyType = std::pair<ImageTypeDescriptionType, ImageTypeDescriptionType>;
The ComponentDatabase class is a class that stores the New() functions of all components.
IndexMapType::value_type IndexMapEntryType
int SetIndex(const PixelTypeDescriptionType &fixedPixelType, ImageDimensionType fixedDimension, const PixelTypeDescriptionType &movingPixelType, ImageDimensionType movingDimension, IndexType i)
std::string PixelTypeDescriptionType
std::pair< ImageTypeDescriptionType, ImageTypeDescriptionType > IndexMapKeyType
PtrToCreator CreatorMapValueType
itk::SmartPointer< const Self > ConstPointer
std::pair< PixelTypeDescriptionType, ImageDimensionType > ImageTypeDescriptionType
PtrToCreator GetCreator(const ComponentDescriptionType &name, IndexType i) const
~ComponentDatabase() override=default
std::map< IndexMapKeyType, IndexMapValueType > IndexMapType
ComponentDatabase()=default
itk::SmartPointer< Self > Pointer
IndexType GetIndex(const PixelTypeDescriptionType &fixedPixelType, ImageDimensionType fixedDimension, const PixelTypeDescriptionType &movingPixelType, ImageDimensionType movingDimension) const
itk::Object::Pointer ObjectPointer
CreatorMapType CreatorMap
std::pair< ComponentDescriptionType, IndexType > CreatorMapKeyType
CreatorMapType::value_type CreatorMapEntryType
ObjectPointer(*)() PtrToCreator
std::string ComponentDescriptionType
std::map< CreatorMapKeyType, CreatorMapValueType > CreatorMapType
int SetCreator(const ComponentDescriptionType &name, IndexType i, PtrToCreator creator)
ITK_DISALLOW_COPY_AND_MOVE(ComponentDatabase)