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

<!--**
**
** RemoveitkSuperclassTraitMacro.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>
      Remove itkSuperclassTraitMacro
    </Title>

    <!--**
    ** The author of the change
    **-->
    <Author>
      Arnaud Gelas
    </Author>

    <!--**
    ** Date of creation for the XML document
    **-->
    <Date>
      2011-10-13
    </Date>

    <!--**
    ** Plain text description of the change
    ** Extracted from git commit messages
    **-->
    <Description>
      get rid of itkSuperclassTraitMacro

      /** Macro used to redefine a type from the superclass. */
      typedef typename Superclass::traitnameType traitnameType;

      This macro was used only in 15 classes throughout the toolkit.
      Remove this macro, to make type definitions more consistent.
    </Description>

    <!--**
    ** Sample code snippets
    ** Extracted from git diff of changed files in Examples and Testing
    **-->
    <SampleCode>
      <Old>
        itkSuperclassTraitMacro( DataType )
      </Old>

      <New>
        typedef typename Superclass::DataType DataType;
      </New>

    </SampleCode>

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

    <!--**
    ** List of all changed files from the topic branch
    **-->
    <FileList>
      Modules/Core/Common/include/itkMacro.h
      Modules/Numerics/Statistics/include/itkHistogram.h
      Modules/Numerics/Statistics/include/itkImageToListSampleAdaptor.h
      Modules/Numerics/Statistics/include/itkJointDomainImageToListSampleAdaptor.h
      Modules/Numerics/Statistics/include/itkListSample.h
      Modules/Numerics/Statistics/include/itkNeighborhoodSampler.h
      Modules/Numerics/Statistics/include/itkPointSetToListSampleAdaptor.h
      Modules/Numerics/Statistics/include/itkSampleToHistogramFilter.h
      Modules/Numerics/Statistics/include/itkVectorContainerToListSampleAdaptor.h
      Modules/Numerics/Statistics/include/itkWeightedCovarianceSampleFilter.h
      Modules/Numerics/Statistics/include/itkWeightedMeanSampleFilter.h
      Modules/Registration/Metricsv4/include/itkEuclideanDistancePointSetMetric.h
      Modules/Registration/Metricsv4/include/itkExpectationBasedPointSetMetric.h
      Modules/Registration/Metricsv4/include/itkJensenHavrdaCharvatTsallisPointSetMetric.h
      Modules/Registration/Metricsv4/include/itkPointSetToPointSetMetric.h
    </FileList>

    <!--**
    ** If the migration can be accomplished by a simple string
    ** substitution, then use the following construct to define
    ** the substitution rule.
    **
    ** <MigrationFix-Automatic>
    **   <Old>
    **     <![CDATA[MipsleledName]]>
    **   </Old>
    **   <New>
    **     <![CDATA[MisspelledName]]>
    **   </New>
    ** </MigrationFix-Automatic>
    **-->

    <!--**
    ** If the migration can NOT be accomplished by a simple string
    ** substitution, but potential problem spots can be identified,
    ** use the following construct to define a migration flag rule.
    **
    ** <MigrationFix-Manual>
    **   OldFunctionName
    ** </MigrationFix-Manual>
    **-->

</Change>
