<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Change SYSTEM "https://itk.org/migrationv4/ITKMigration.dtd">
<!--**
**
** OStringStreamRemoval.xml
**
**-->
<Change>
  <!--**
      ** OStringStream removed
      **-->
  <Title>
    OStringStream removed.
  </Title>

  <Author>
    Bradley Lowekamp
  </Author>

  <!--**
      ** Plain text description of the change
      **-->
  <Description>
    <![CDATA[
    itk::OStringStream has been removed. Early in the development of
    ITK, some compilers did not support std::stringstream. ITK
    provided a wrapper to hide differences between std::stringstream
    and the old ostrstream (which has been deprecated by the C++
    standard). Modern C++98 compilers implement std::ostringstream
    correctly and a wrapper is no longer needed.
    ]]>
  </Description>

  <!--**
      ** Sample code snippets
      **-->
  <SampleCode>
    <Old>
      itk::OStringStream msg;
    </Old>
    <New>
      std::ostringstream msg;
    </New>
  </SampleCode>

    <!--**
    ** The change-ids for all commits in the topic branch
    **-->
    <Gerrit-ChangeId>
    </Gerrit-ChangeId>

  <!--**
      ** List of all changed files from the topic branch
      **-->
  <FileList>
    Code/Common/itkMacro.h
    Code/Algorithms/itkFEMRegistrationFilter.txx
    Code/Algorithms/itkMRFImageFilter.txx
    Code/BasicFilters/itkCannyEdgeDetectionImageFilter.txx
    Code/Common/itkChainCodePath2D.cxx
    Code/Common/itkConstNeighborhoodIterator.h
    Code/Common/itkExceptionObject.cxx
    Code/Common/itkImageSource.txx
    Code/Common/itkLoggerBase.cxx
    Code/Common/itkTransform.txx
    Code/Common/itkWin32OutputWindow.cxx
    Code/IO/itkGDCMImageIO.cxx
    Code/IO/itkImageFileReader.txx
    Code/IO/itkImageFileWriter.txx
    Code/IO/itkTestDriver.cxx
    Code/IO/itkTransformFileReader.cxx
    Code/Numerics/FEM/itkFEMException.cxx
    Code/Numerics/FEM/itkFEMItpackSparseMatrix.cxx
    Code/Numerics/FEM/itkFEMLinearSystemWrapper.cxx
    Code/Numerics/FEM/itkFEMLinearSystemWrapperItpack.cxx
    Code/Numerics/itkAmoebaOptimizer.h
    Code/Numerics/itkCumulativeGaussianOptimizer.h
    Code/Numerics/itkExhaustiveOptimizer.h
    Code/Numerics/itkGradientDescentOptimizer.h
    Code/Numerics/itkLBFGSBOptimizer.h
    Code/Numerics/itkLBFGSOptimizer.h
    Code/Numerics/itkLevenbergMarquardtOptimizer.cxx
    Code/Numerics/itkOnePlusOneEvolutionaryOptimizer.h
    Code/Numerics/itkOptimizer.cxx
    Code/Numerics/itkPowellOptimizer.h
    Code/Numerics/itkRegularStepGradientDescentBaseOptimizer.h
    Code/Numerics/itkSPSAOptimizer.cxx
    Code/Review/itkAnchorErodeDilateImageFilter.txx
    Code/Review/itkAnchorOpenCloseImageFilter.txx
    Code/Review/itkBoxImageFilter.txx
    Code/Review/itkBruker2DSEQImageIO.cxx
    Code/Review/itkPhilipsPAR.cxx
    Code/Review/itkPhilipsRECImageIO.cxx
    Code/Review/itkQuadEdge.h
    Code/Review/itkTransformIOBase.cxx
    Code/Review/itkTxtTransformIO.cxx
    Code/Review/itkVanHerkGilWermanErodeDilateImageFilter.txx
    Code/SpatialObject/itkSpatialObject.txx
    Testing/Code/BasicFilters/itkTwoOutputExampleImageFilterTest.cxx
    Testing/Code/IO/itkImageFileWriterStreamingPastingCompressingTest1.cxx
  </FileList>

<MigrationFix-Automatic>
  <Old>
    itk::OStringStream
  </Old>
  <New>
    std::ostringstream
  </New>
</MigrationFix-Automatic>
</Change>
