From 2ef7c4637a6a01b714236a5d2a2fb0631139c35e Mon Sep 17 00:00:00 2001
From: Julien Malik <julien.malik@c-s.fr>
Date: Sat, 21 Feb 2015 00:49:47 +0100
Subject: [PATCH] COMP: properly define DataObjectPointerArraySizeType

---
 Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h    | 1 +
 Modules/Core/LabelMap/include/otbLabelMapSource.h              | 1 +
 Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h  | 1 +
 .../otbLabelMapWithClassLabelToLabeledSampleListFilter.h       | 1 +
 .../Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h  | 1 +
 Modules/Core/ObjectList/include/otbObjectListSource.h          | 1 +
 Modules/Core/PointSet/include/otbPointSetSource.h              | 3 ++-
 Modules/Core/VectorDataBase/include/otbGISTableSource.h        | 1 +
 Modules/Core/VectorDataBase/include/otbVectorDataSource.h      | 1 +
 .../include/otbDescriptorsListSampleGenerator.h                | 1 +
 .../include/otbSparseWvltToAngleMapperListFilter.h             | 1 +
 .../include/otbStreamingInnerProductVectorImageFilter.h        | 1 +
 .../include/otbStreamingMatrixTransposeMatrixImageFilter.h     | 1 +
 Modules/Filtering/MathParser/include/otbBandMathImageFilter.h  | 1 +
 Modules/Filtering/MathParser/include/otbBandMathXImageFilter.h | 1 +
 Modules/Filtering/Path/include/otbPathListSource.h             | 1 +
 .../Filtering/Path/include/otbPathListToHistogramGenerator.h   | 1 +
 Modules/Filtering/Statistics/include/otbListSampleGenerator.h  | 1 +
 Modules/Filtering/Statistics/include/otbListSampleSource.h     | 1 +
 .../include/otbListSampleToBalancedListSampleFilter.h          | 1 +
 .../Statistics/include/otbListSampleToHistogramListGenerator.h | 1 +
 .../otbListSampleToVariableDimensionHistogramGenerator.h       | 1 +
 .../Statistics/include/otbStreamingCompareImageFilter.h        | 1 +
 .../include/otbStreamingHistogramVectorImageFilter.h           | 1 +
 .../Statistics/include/otbStreamingMinMaxImageFilter.h         | 1 +
 .../Statistics/include/otbStreamingMinMaxVectorImageFilter.h   | 1 +
 .../Statistics/include/otbStreamingStatisticsImageFilter.h     | 1 +
 .../include/otbStreamingStatisticsMapFromLabelImageFilter.h    | 1 +
 .../include/otbStreamingStatisticsVectorImageFilter.h          | 1 +
 .../Statistics/include/otbVectorImageToMatrixImageFilter.h     | 1 +
 Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h      | 2 ++
 .../SVMLearning/include/otbObjectDetectionClassifier.h         | 1 +
 Modules/Radiometry/Simulation/include/otbProspectModel.h       | 2 ++
 Modules/Radiometry/Simulation/include/otbSailModel.h           | 2 ++
 .../Conversion/include/otbLabelImageToOGRDataSourceFilter.h    | 2 ++
 35 files changed, 40 insertions(+), 1 deletion(-)

diff --git a/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h b/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h
index 43ea1f4b2d..0d87528dd5 100644
--- a/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h
+++ b/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h
@@ -71,6 +71,7 @@ public:
   typedef itk::ProcessObject                   Superclass;
   typedef itk::SmartPointer<Self>              Pointer;
   typedef itk::SmartPointer<const Self>        ConstPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   //@}
 
   /**\name I/O typedefs */
diff --git a/Modules/Core/LabelMap/include/otbLabelMapSource.h b/Modules/Core/LabelMap/include/otbLabelMapSource.h
index 65e9552335..3801e51ff1 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapSource.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapSource.h
@@ -51,6 +51,7 @@ public:
   /** Run-time type information (and related methods). */
   itkTypeMacro(LabelMapSource, itk::ProcessObject);
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef TOutputLabelMap                   OutputLabelMapType;
   typedef typename TOutputLabelMap::Pointer OutputLabelMapPointer;
 
diff --git a/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h b/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h
index 95b78afe88..cc3e694632 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h
@@ -71,6 +71,7 @@ public:
 
   /** DataObject typedef*/
   typedef typename Superclass::DataObjectPointer      DataObjectPointerType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Set/Get the input label map */
   void SetInputLabelMap(const InputLabelMapType * inputLabelMap);
diff --git a/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h b/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h
index 797c5aec0d..0d6368bee2 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h
@@ -61,6 +61,7 @@ public:
   typedef typename InputLabelMapType::ConstPointer    InputLabelMapConstPointerType;
   typedef typename InputLabelMapType::LabelObjectType LabelObjectType;
   typedef typename InputLabelMapType::ConstIterator   ConstIteratorType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Output sample list */
   typedef TOutputSampleList                           OutputSampleListType;
diff --git a/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h
index 7997be05b0..17fdb9082c 100644
--- a/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h
@@ -42,6 +42,7 @@ public:
   typedef itk::SmartPointer<const Self>                ConstPointer;
 
   /** Some convenient typedefs. */
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef TInputImage InputImageType;
   typedef typename InputImageType::Pointer             InputImagePointer;
   typedef typename InputImageType::ConstPointer        InputImageConstPointer;
diff --git a/Modules/Core/ObjectList/include/otbObjectListSource.h b/Modules/Core/ObjectList/include/otbObjectListSource.h
index 464af0f9d9..a107e9bb13 100644
--- a/Modules/Core/ObjectList/include/otbObjectListSource.h
+++ b/Modules/Core/ObjectList/include/otbObjectListSource.h
@@ -57,6 +57,7 @@ public:
   itkTypeMacro(ObjectListSource, ProcessObject);
 
   /** Some typedefs. */
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef TOutputList                   OutputListType;
   typedef typename TOutputList::Pointer OutputListPointer;
 
diff --git a/Modules/Core/PointSet/include/otbPointSetSource.h b/Modules/Core/PointSet/include/otbPointSetSource.h
index e0dc29ce89..4acaace7f1 100644
--- a/Modules/Core/PointSet/include/otbPointSetSource.h
+++ b/Modules/Core/PointSet/include/otbPointSetSource.h
@@ -55,6 +55,7 @@ public:
   itkTypeMacro(PointSetSource, itk::ProcessObject);
 
   /** Some convenient typedefs. */
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef itk::DataObject::Pointer                        DataObjectPointer;
   typedef TOutputPointSet                                 OutputPointSetType;
   typedef typename OutputPointSetType::Pointer            OutputPointSetPointer;
@@ -105,7 +106,7 @@ public:
    * filter's pipeline mechanism must be consistent with what the
    * mini-pipeline will do). */
   virtual void GraftOutput(itk::DataObject *output);
-  virtual void GraftNthOutput(unsigned int idx, itk::DataObject *output);
+  virtual void GraftNthOutput(DataObjectPointerArraySizeType idx, itk::DataObject *output);
 
   /** Make a DataObject of the correct type to used as the specified
    * output.  Every ProcessObject subclass must be able to create a
diff --git a/Modules/Core/VectorDataBase/include/otbGISTableSource.h b/Modules/Core/VectorDataBase/include/otbGISTableSource.h
index ac07276854..7edb91f5f4 100644
--- a/Modules/Core/VectorDataBase/include/otbGISTableSource.h
+++ b/Modules/Core/VectorDataBase/include/otbGISTableSource.h
@@ -52,6 +52,7 @@ public:
   /** Run-time type information (and related methods). */
   itkTypeMacro(GISTableSource, itk::ProcessObject);
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef TOutputGISTable                   OutputGISTableType;
   typedef typename TOutputGISTable::Pointer OutputGISTablePointer;
 
diff --git a/Modules/Core/VectorDataBase/include/otbVectorDataSource.h b/Modules/Core/VectorDataBase/include/otbVectorDataSource.h
index 53ae3909ed..4db33e36f3 100644
--- a/Modules/Core/VectorDataBase/include/otbVectorDataSource.h
+++ b/Modules/Core/VectorDataBase/include/otbVectorDataSource.h
@@ -52,6 +52,7 @@ public:
   /** Run-time type information (and related methods). */
   itkTypeMacro(VectorDataSource, itk::ProcessObject);
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef TOutputVectorData                   OutputVectorDataType;
   typedef typename TOutputVectorData::Pointer OutputVectorDataPointer;
 
diff --git a/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h b/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h
index 7fbaed72cb..64bca95138 100644
--- a/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h
+++ b/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h
@@ -82,6 +82,7 @@ public:
                       TInputImage::ImageDimension);
 
   /** Smart Pointer type to a DataObject. */
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef typename itk::DataObject::Pointer DataObjectPointer;
 
   /** Input VectorData */
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h
index 0465aa1586..1d2666d5c7 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h
@@ -89,6 +89,7 @@ public:
    * a ProcessObject's pipeline */
   typedef itk::DataObject::Pointer                             DataObjectPointer;
   typedef itk::DataObjectDecorator< OutputSampleListType >     OutputSampleListObjectType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Returns the output sample list */
   OutputSampleListType * GetOutputSampleList();
diff --git a/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h
index 6c04e6559a..7b3e2e3f9a 100644
--- a/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h
@@ -80,6 +80,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type definition for a double matrix. */
   typedef vnl_matrix<double>               MatrixType;
diff --git a/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h
index 1ebbeada00..a4e5734737 100644
--- a/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h
@@ -98,6 +98,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type of DataObjects used for scalar outputs */
   typedef typename itk::Array<long>                     ArrayLongPixelType;
diff --git a/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h b/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
index cb1273e225..10e1cc2d83 100644
--- a/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
+++ b/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
@@ -103,6 +103,7 @@ public:
   typedef typename ImageType::PointType           OrigineType;
   typedef typename ImageType::SpacingType         SpacingType;
   typedef Parser                                  ParserType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Set the nth filter input with or without a specified associated variable name */
   void SetNthInput( DataObjectPointerArraySizeType idx, const ImageType * image);
diff --git a/Modules/Filtering/MathParser/include/otbBandMathXImageFilter.h b/Modules/Filtering/MathParser/include/otbBandMathXImageFilter.h
index 74a1df6aa6..4906533075 100644
--- a/Modules/Filtering/MathParser/include/otbBandMathXImageFilter.h
+++ b/Modules/Filtering/MathParser/include/otbBandMathXImageFilter.h
@@ -89,6 +89,7 @@ public:
   typedef typename ImageType::SpacingType            SpacingType;
   typedef ParserX                                     ParserType;
   typedef typename ParserType::ValueType             ValueType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Typedef for statistic computing. */
   typedef StreamingStatisticsVectorImageFilter<ImageType> StreamingStatisticsVectorImageFilterType;
diff --git a/Modules/Filtering/Path/include/otbPathListSource.h b/Modules/Filtering/Path/include/otbPathListSource.h
index d219b882f7..766a2b5eb7 100644
--- a/Modules/Filtering/Path/include/otbPathListSource.h
+++ b/Modules/Filtering/Path/include/otbPathListSource.h
@@ -56,6 +56,7 @@ public:
 
   /** Some convenient typedefs. */
   typedef itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   typedef TOutputPath                               OutputPathType;
   typedef typename OutputPathType::Pointer          OutputPathPointerType;
diff --git a/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h b/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h
index 6df19b0461..61d6e38f04 100644
--- a/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h
+++ b/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h
@@ -88,6 +88,7 @@ public:
 
   /** DataObject typedef*/
   typedef typename Superclass::DataObjectPointer        DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   void GraftNthOutput(unsigned int idx, itk::DataObject *graft);
   void GraftOutput(itk::DataObject *graft);
diff --git a/Modules/Filtering/Statistics/include/otbListSampleGenerator.h b/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
index 28ca414bd3..8960741071 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
@@ -69,6 +69,7 @@ public:
   typedef typename ImageType::RegionType   ImageRegionType;
   typedef TVectorData                      VectorDataType;
   typedef typename VectorDataType::Pointer VectorDataPointerType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** List to store the pixel values */
   typedef typename ImageType::PixelType           SampleType;
diff --git a/Modules/Filtering/Statistics/include/otbListSampleSource.h b/Modules/Filtering/Statistics/include/otbListSampleSource.h
index 163fbe23e0..da1d303188 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleSource.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleSource.h
@@ -59,6 +59,7 @@ public:
   typedef typename OutputSampleListType::ConstPointer          OutputSampleListConstPointer;
   typedef typename OutputSampleListType::MeasurementVectorType OutputMeasurementVectorType;
   typedef typename OutputMeasurementVectorType::ValueType      OutputValueType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** ListSample is not a DataObject, we need to decorate it to push it down
    * a ProcessObject's pipeline */
diff --git a/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h b/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h
index 33f2df070e..8d8f2bbdc2 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h
@@ -84,6 +84,7 @@ public:
 
   /** DataObject typedef*/
   typedef typename Superclass::DataObjectPointer               DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Filter adding noise to a ListSample */
   typedef otb::Statistics::GaussianAdditiveNoiseSampleListFilter
diff --git a/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h b/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h
index d2e695bbae..e1641aa46a 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h
@@ -76,6 +76,7 @@ public:
 
   /** DataObject typedef*/
   typedef typename Superclass::DataObjectPointer        DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   // Set/Get the input list sample
   void SetListSample(const ListSampleType* inputlist);
diff --git a/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h b/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h
index 399fa2a2bf..0422e3a0d4 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h
@@ -78,6 +78,7 @@ public:
 
   /** DataObject typedef*/
   typedef typename Superclass::DataObjectPointer        DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   // Set/Get the input list sample
   void SetListSample(const ListSampleType* inputlist);
diff --git a/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h
index 0e8c23dafa..7261139723 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h
@@ -71,6 +71,7 @@ public:
   typedef typename TInputImage::SizeType   SizeType;
   typedef typename TInputImage::IndexType  IndexType;
   typedef typename TInputImage::PixelType  PixelType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   itkStaticConstMacro(InputImageDimension, unsigned int,
                       TInputImage::ImageDimension);
diff --git a/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h
index b5d8bf94cd..2c4c1f6355 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h
@@ -87,6 +87,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer       DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Types for histogram */
   typedef itk::Statistics::DenseFrequencyContainer2        DFContainerType;
diff --git a/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h
index 0094797593..0a06eb3b91 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h
@@ -82,6 +82,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type of DataObjects used for scalar outputs */
   typedef itk::SimpleDataObjectDecorator<PixelType> PixelObjectType;
diff --git a/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h
index 51c5558ef3..2cc97c6d52 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h
@@ -86,6 +86,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type of DataObjects used for scalar outputs */
   typedef typename itk::VariableSizeMatrix<RealType>    MatrixType;
diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h
index 8b97c26e7c..dd3612c79a 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h
@@ -85,6 +85,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type of DataObjects used for scalar outputs */
   typedef itk::SimpleDataObjectDecorator<RealType>  RealObjectType;
diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h
index 4c58abe93e..5c7b4e2fe3 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h
@@ -87,6 +87,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   typedef itk::ImageBase<InputImageDimension> ImageBaseType;
   typedef typename ImageBaseType::RegionType InputImageRegionType;
diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h
index da43a89928..afe7e0432d 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h
@@ -83,6 +83,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type to use for computations. */
   typedef itk::VariableSizeMatrix<PrecisionType>        MatrixType;
diff --git a/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h b/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h
index f9c7144fbf..9f8eced9eb 100644
--- a/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h
@@ -87,6 +87,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type of DataObjects used for scalar outputs */
   typedef vnl_matrix<RealType>                          MatrixType;
diff --git a/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h b/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
index 55e7785d4c..9e20ba01a0 100644
--- a/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
+++ b/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
@@ -99,6 +99,8 @@ public:
 
   typedef ObjectList<ReaderType>           ReaderListType;
   typedef typename ReaderListType::Pointer ReaderListPointerType;
+  
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Get the file to be read */
   itkGetStringMacro(FileName);
diff --git a/Modules/Learning/SVMLearning/include/otbObjectDetectionClassifier.h b/Modules/Learning/SVMLearning/include/otbObjectDetectionClassifier.h
index 811140d339..e03fe901c2 100644
--- a/Modules/Learning/SVMLearning/include/otbObjectDetectionClassifier.h
+++ b/Modules/Learning/SVMLearning/include/otbObjectDetectionClassifier.h
@@ -87,6 +87,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Input VectorData */
   typedef TOutputVectorData                               VectorDataType;
diff --git a/Modules/Radiometry/Simulation/include/otbProspectModel.h b/Modules/Radiometry/Simulation/include/otbProspectModel.h
index cbe718d205..6fb40b7bcb 100644
--- a/Modules/Radiometry/Simulation/include/otbProspectModel.h
+++ b/Modules/Radiometry/Simulation/include/otbProspectModel.h
@@ -50,6 +50,8 @@ class ITK_EXPORT ProspectModel : public SimulationStep1Base
       typedef Superclass::SpectralResponseType      SpectralResponseType;
       typedef Superclass::ParametersType            ParametersType;
 
+      typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
+
       /** Standard macros */
       itkNewMacro(Self);
       itkTypeMacro(ProspectModel, SpectrumGeneratorBase);
diff --git a/Modules/Radiometry/Simulation/include/otbSailModel.h b/Modules/Radiometry/Simulation/include/otbSailModel.h
index c7c41980a0..bbff7253f9 100644
--- a/Modules/Radiometry/Simulation/include/otbSailModel.h
+++ b/Modules/Radiometry/Simulation/include/otbSailModel.h
@@ -50,6 +50,8 @@ class ITK_EXPORT SailModel : public SimulationStep2Base
       typedef std::vector<double>                   VectorType;
       typedef Superclass::ParametersType   ParametersType;
 
+      typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
+
       /** Standard macros */
       itkNewMacro(Self);
       itkTypeMacro(SailModel, ProcessObject);
diff --git a/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h b/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
index 1d9cff42f7..3ae6e04798 100644
--- a/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
@@ -72,6 +72,8 @@ public:
   typedef typename OGRDataSourceType::Pointer        OGRDataSourcePointerType;
   typedef ogr::Layer                                 OGRLayerType;
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
+
   /** Set/Get the input image of this process object.  */
   using Superclass::SetInput;
   virtual void SetInput(const InputImageType *input);
-- 
GitLab