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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions