Skip to content

Commit 1bd405d

Browse files
authored
Merge pull request InsightSoftwareConsortium#5692 from N-Dekker/Use-MultiThreaderBase-instead-of-MultiThreaderType
Deprecate `MultiThreaderType` aliases, use `MultiThreaderBase` directly
2 parents adefd3e + 49ed4e0 commit 1bd405d

File tree

4 files changed

+22
-14
lines changed

4 files changed

+22
-14
lines changed

Modules/Core/Common/include/itkProcessObject.h

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,12 @@ class ITKCommon_EXPORT ProcessObject : public Object
164164
/** STL array of data object names */
165165
using NameArray = std::vector<DataObjectIdentifierType>;
166166

167-
/** Type of general multi-threader interface */
168-
using MultiThreaderType = MultiThreaderBase;
167+
#ifndef ITK_FUTURE_LEGACY_REMOVE
168+
/** Type of general multi-threader interface
169+
* \deprecated Please use `itk::MultiThreaderBase` directly.
170+
*/
171+
using MultiThreaderType [[deprecated("Please use `itk::MultiThreaderBase` directly.")]] = MultiThreaderBase;
172+
#endif
169173

170174
/** \brief Return an array with the names of the inputs defined.
171175
*
@@ -501,15 +505,15 @@ class ITKCommon_EXPORT ProcessObject : public Object
501505
/** @ITKEndGrouping */
502506

503507
/** Return the multithreader used by this class. */
504-
MultiThreaderType *
508+
MultiThreaderBase *
505509
GetMultiThreader() const
506510
{
507511
return m_MultiThreader;
508512
}
509513

510514
/** Set the multithreader used by this class. */
511515
void
512-
SetMultiThreader(MultiThreaderType * threader);
516+
SetMultiThreader(MultiThreaderBase * threader);
513517

514518
/** An opportunity to deallocate a ProcessObject's bulk data
515519
* storage. Some filters may wish to reuse existing bulk data
@@ -1002,7 +1006,7 @@ class ITKCommon_EXPORT ProcessObject : public Object
10021006

10031007
/** Support processing data in multiple threads. Used by subclasses
10041008
* (e.g., ImageSource). */
1005-
itk::SmartPointer<MultiThreaderType> m_MultiThreader;
1009+
itk::SmartPointer<MultiThreaderBase> m_MultiThreader;
10061010
ThreadIdType m_NumberOfWorkUnits{};
10071011

10081012
bool m_ThreaderUpdateProgress{ true };

Modules/Core/Common/src/itkProcessObject.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ ProcessObject::ProcessObject()
6363
m_IndexedInputs.push_back(m_Inputs.insert(p).first);
6464
m_IndexedOutputs.push_back(m_Outputs.insert(std::move(p)).first);
6565

66-
this->Self::SetMultiThreader(MultiThreaderType::New());
66+
this->Self::SetMultiThreader(MultiThreaderBase::New());
6767
}
6868

6969

@@ -1552,7 +1552,7 @@ ProcessObject::GenerateOutputRequestedRegion(DataObject * output)
15521552

15531553

15541554
void
1555-
ProcessObject::SetMultiThreader(MultiThreaderType * threader)
1555+
ProcessObject::SetMultiThreader(MultiThreaderBase * threader)
15561556
{
15571557
if (this->m_MultiThreader != threader)
15581558
{

Modules/Registration/Common/include/itkImageToImageMetric.h

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -349,10 +349,14 @@ class ITK_TEMPLATE_EXPORT ImageToImageMetric : public SingleValuedCostFunction
349349
itkGetConstReferenceMacro(UseCachingOfBSplineWeights, bool);
350350
itkBooleanMacro(UseCachingOfBSplineWeights);
351351
/** @ITKEndGrouping */
352-
using MultiThreaderType = MultiThreaderBase;
352+
353+
#ifndef ITK_FUTURE_LEGACY_REMOVE
354+
using MultiThreaderType [[deprecated("Please use `itk::MultiThreaderBase` directly.")]] = MultiThreaderBase;
355+
#endif
356+
353357
/** Get the Threader. */
354358
/** @ITKStartGrouping */
355-
itkGetModifiableObjectMacro(Threader, MultiThreaderType);
359+
itkGetModifiableObjectMacro(Threader, MultiThreaderBase);
356360
const TransformPointer *
357361
GetThreaderTransform()
358362
{
@@ -600,15 +604,15 @@ class ITK_TEMPLATE_EXPORT ImageToImageMetric : public SingleValuedCostFunction
600604
/**
601605
* \class MultiThreaderWorkUnitInfoImageToImageMetricWrapper
602606
* This helper local class is used to extract information from the
603-
* MultiThreaderType::WorkUnitInfo info type
607+
* MultiThreaderBase::WorkUnitInfo info type
604608
* Do not allow inheritance for objects that are intended for static_cast<void *>
605609
* \ingroup ITKRegistrationCommon
606610
*/
607611
class MultiThreaderWorkUnitInfoImageToImageMetricWrapper final
608612
{
609613
public:
610614
MultiThreaderWorkUnitInfoImageToImageMetricWrapper(const void * workunitInfoAsVoid)
611-
: m_WorkUnitInfo(static_cast<const typename MultiThreaderType::WorkUnitInfo *>(workunitInfoAsVoid))
615+
: m_WorkUnitInfo(static_cast<const MultiThreaderBase::WorkUnitInfo *>(workunitInfoAsVoid))
612616
{}
613617
[[nodiscard]] ThreadIdType
614618
GetThreadId() const
@@ -622,10 +626,10 @@ class ITK_TEMPLATE_EXPORT ImageToImageMetric : public SingleValuedCostFunction
622626
}
623627

624628
private:
625-
const typename MultiThreaderType::WorkUnitInfo * m_WorkUnitInfo;
629+
const MultiThreaderBase::WorkUnitInfo * m_WorkUnitInfo;
626630
};
627631

628-
MultiThreaderType::Pointer m_Threader{};
632+
MultiThreaderBase::Pointer m_Threader{};
629633
std::unique_ptr<ConstantPointerWrapper> m_ConstSelfWrapper;
630634
mutable std::unique_ptr<unsigned int[]> m_ThreaderNumberOfMovingImageSamples;
631635
bool m_WithinThreadPreProcess{ false };

Modules/Registration/Common/include/itkImageToImageMetric.hxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ ImageToImageMetric<TFixedImage, TMovingImage>::ImageToImageMetric()
5454
, m_BSplineTransformIndices()
5555
, m_BSplineInterpolator(nullptr)
5656
, m_DerivativeCalculator(nullptr)
57-
, m_Threader(MultiThreaderType::New())
57+
, m_Threader(MultiThreaderBase::New())
5858
, m_ConstSelfWrapper(std::make_unique<ConstantPointerWrapper>(this))
5959
{
6060
this->m_NumberOfWorkUnits = this->m_Threader->GetNumberOfWorkUnits();

0 commit comments

Comments
 (0)