Skip to content

Explicit instantiation of itk::Image fails with 5.2 when pixel type does not support operator== #2583

@blowekamp

Description

@blowekamp

With the additional of itk::Image::operator==, it is a new requirement for the Image's pixel type to support operator==. Previously, SimpleITK ( in some configurations ) had been explicitly instantiating the type: itk::Image<std::deque<itk::LabelObjectLine<2u>, std::allocator<itk::LabelObjectLine<2u> > >, 1u> because it was frequently used within the LabelMap module. With ITK 5.2 this results in a compilation error due to operator== not being supported. See SimpleITK/SimpleITK#1404 . While, in this case the explicit instantiation can just be removed, a more general solution in ITK would be good.

Do we want to explicitly require the pixel type to support the operator==, perhaps with a concept check?

Should the itk::Image::operator== be disabled when not supported by the pixel?

Metadata

Metadata

Assignees

Labels

type:BugInconsistencies or issues which will cause an incorrect result under some or all circumstances

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions