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

<!--**
**
** ReplaceITKHashWithSYSITKHash.xml
**
** >>>>>>>>>>>>>>>>>>>>>>>>>>>>
** THIS FILE HAS BEEN AUTOMATICALLY GENERATED. EDIT IT BEFORE COMMITING
** <<<<<<<<<<<<<<<<<<<<<<<<<<<
**
** Please, make sure this file validates the following w3c test before committing it: http://validator.w3.org
**-->
<Change>
    <!--**
    ** Title for the online migration page
    **-->
    <Title>
      Replace I T K Hash With S Y S I T K Hash
    </Title>

    <!--**
    ** The author of the change
    **-->
    <Author>
      Bradley Lowekamp
    </Author>

    <!--**
    ** Date of creation for the XML document
    **-->
    <Date>
      2011-07-12
    </Date>

    <!--**
    ** Plain text description of the change
    ** Extracted from git commit messages
    **-->
    <Description>
      <![CDATA[
      ENH: Replace itk::hash_thing with kwsys&apos; itksys::hash_thing

      Previously there are three copies of these SGI STL derived
      container classes in ITK. We have removed the ones on ITK
      Common in favor of the KWSYS versions. This removes
      dedundent code, and delegates maintenance to libraries who's
      goal is to provide a cross platform enviroment.

      This patch removed the itk::hash_map, itk::hash_set, and
      itk::hash_table. There nearly identical versions of these files
      in kwsys's itksys. Additionally, these are also common in
      current compilers, and the new c++ tr1 stl extensions is going
      to contain an unorder_map, unordered_set etc, which are hash
      tables.

      ]]>
    </Description>

    <!--**
    ** Sample code snippets
    ** Extracted from git diff of changed files in Examples and Testing
    **-->
    <SampleCode>

      <Old>
        #include "itk_hash_map.h"

        typedef itk::hash_map&lt; ValueType, HashType &gt;;
      </Old>

      <New>
        #include "itksys/hash_map.hxx"

        typedef itksys::hash_map&lt; ValueType, HashType &gt;;
      </New>

    </SampleCode>

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

    <!--**
    ** List of all changed files from the topic branch
    **-->
    <FileList>
      Modules/Core/Common/include/itkEquivalencyTable.h
      Modules/Core/Common/include/itk_alloc.h
      Modules/Core/Common/include/itk_hash_map.h
      Modules/Core/Common/include/itk_hash_set.h
      Modules/Core/Common/include/itk_hashtable.h
      Modules/Core/Common/src/CMakeLists.txt
      Modules/Core/Common/src/itk_hashtable.cxx
      Modules/Core/Common/test/itkCommonHeaderTest.cxx
      Modules/Core/Common/test/itkHashTableTest.cxx
      Modules/Core/Mesh/include/itkAutomaticTopologyMeshSource.h
      Modules/Filtering/ImageStatistics/include/itkLabelStatisticsImageFilter.h
      Modules/Nonunit/Review/include/itkContourExtractor2DImageFilter.h
      Modules/Nonunit/Review/include/itkLabelGeometryImageFilter.h
      Modules/Numerics/Statistics/include/itkKdTreeBasedKmeansEstimator.h
      Modules/Numerics/Statistics/include/itkMembershipSample.h
      Modules/Segmentation/ConnectedComponents/include/itkRelabelComponentImageFilter.txx
      Modules/Segmentation/Watersheds/include/itkOneWayEquivalencyTable.h
      Modules/Segmentation/Watersheds/include/itkWatershedBoundary.h
      Modules/Segmentation/Watersheds/include/itkWatershedSegmentTable.h
      Modules/Segmentation/Watersheds/include/itkWatershedSegmentTreeGenerator.h
      Modules/Segmentation/Watersheds/include/itkWatershedSegmenter.h
    </FileList>

</Change>
