Skip to content

Commit 3c2dbb2

Browse files
committed
STYLE: Prefer C++11 type alias over typedef
== http://en.cppreference.com/w/cpp/language/type_alias == Type alias is a name that refers to a previously defined type (similar to typedef). A type alias declaration introduces a name which can be used as a synonym for the type denoted by type-id. It does not introduce a new type and it cannot change the meaning of an existing type name. There is no difference between a type alias declaration and typedef declaration. This declaration may appear in block scope, class scope, or namespace scope. == https://www.quora.com/Is-using-typedef-in-C++-considered-a-bad-practice == While typedef is still available for backward compatibility, the new Type Alias syntax 'using Alias = ExistingLongName;' is more consistent with the flow of C++ than the old typedef syntax 'typedef ExistingLongName Alias;', and it also works for templates (Type alias, alias template (since C++11)), so leftover 'typedef' aliases will differ in style from any alias templates.
1 parent a99cce8 commit 3c2dbb2

24 files changed

+281
-292
lines changed

doc/itkTextureFeature.tex

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -355,18 +355,18 @@ \subsection{C++}
355355
std::cerr << argv[0];
356356
std::cerr << " <InputFilePath> <MaskFilePath> <OutputFilePath> ";
357357
std::cerr << " <NumberOfBinsPerAxis> <PixelValueMin> ";
358-
std::cerr << " <PixelValueMax> <DistanceValueMin> " ;
358+
std::cerr << " <PixelValueMax> <DistanceValueMin> ";
359359
std::cerr << " <DistanceValueMax> <NeighborhoodRadius> ";
360360
std::cerr << std::endl;
361361
return EXIT_FAILURE;
362362
}
363363

364364
// Setup types
365-
typedef itk::Image< int, 3 > InputImageType;
366-
typedef itk::Image< itk::Vector< float, 10 > , 3 > OutputImageType;
367-
typedef itk::ImageFileReader< InputImageType > readerType;
368-
typedef itk::Neighborhood<typename InputImageType::PixelType,
369-
InputImageType::ImageDimension> NeighborhoodType;
365+
using InputImageType = itk::Image< int, 3 >;
366+
using OutputImageType = itk::Image< itk::Vector< float, 10 > , 3 >;
367+
using readerType = itk::ImageFileReader< InputImageType >;
368+
using NeighborhoodType = itk::Neighborhood<typename InputImageType::PixelType,
369+
InputImageType::ImageDimension>;
370370
NeighborhoodType neighborhood;
371371

372372
// Create and setup a reader
@@ -378,8 +378,8 @@ \subsection{C++}
378378
maskReader->SetFileName( argv[2] );
379379

380380
// Apply the filter
381-
typedef itk::Statistics::RunLengthTextureFeaturesImageFilter
382-
< InputImageType, OutputImageType > FilterType;
381+
using FilterType = itk::Statistics::RunLengthTextureFeaturesImageFilter
382+
< InputImageType, OutputImageType >;
383383
FilterType::Pointer filter = FilterType::New();
384384
filter->SetInput(reader->GetOutput());
385385
filter->SetMaskImage(maskReader->GetOutput());
@@ -390,7 +390,7 @@ \subsection{C++}
390390
filter->SetNeighborhoodRadius(neighborhood.GetRadius());
391391

392392
// Create and setup a writter
393-
typedef itk::ImageFileWriter< OutputImageType > WriterType;
393+
using WriterType = itk::ImageFileWriter< OutputImageType >;
394394
WriterType::Pointer writer = WriterType::New();
395395
std::string outputFilename = argv[3];
396396
writer->SetFileName(outputFilename.c_str());

example/computeGLCMFeatures.cxx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ int main(int argc, char * argv[])
2020
}
2121

2222
// Setup types
23-
typedef itk::Image< int, 3 > InputImageType;
24-
typedef itk::Image< itk::Vector< float, 10 > , 3 > OutputImageType;
25-
typedef itk::ImageFileReader< InputImageType > readerType;
26-
typedef itk::Neighborhood<typename InputImageType::PixelType,
27-
InputImageType::ImageDimension> NeighborhoodType;
23+
using InputImageType = itk::Image< int, 3 >;
24+
using OutputImageType = itk::Image< itk::Vector< float, 10 > , 3 >;
25+
using readerType = itk::ImageFileReader< InputImageType >;
26+
using NeighborhoodType = itk::Neighborhood<typename InputImageType::PixelType,
27+
InputImageType::ImageDimension>;
2828
NeighborhoodType neighborhood;
2929

3030
// Create and setup a reader
@@ -36,8 +36,8 @@ int main(int argc, char * argv[])
3636
maskReader->SetFileName( argv[2] );
3737

3838
// Apply the filter
39-
typedef itk::Statistics::CoocurrenceTextureFeaturesImageFilter
40-
< InputImageType, OutputImageType > FilterType;
39+
using FilterType = itk::Statistics::CoocurrenceTextureFeaturesImageFilter
40+
< InputImageType, OutputImageType >;
4141
FilterType::Pointer filter = FilterType::New();
4242
filter->SetInput(reader->GetOutput());
4343
filter->SetMaskImage(maskReader->GetOutput());
@@ -48,7 +48,7 @@ int main(int argc, char * argv[])
4848
filter->SetNeighborhoodRadius(neighborhood.GetRadius());
4949

5050
// Create and setup a writter
51-
typedef itk::ImageFileWriter< OutputImageType > WriterType;
51+
using WriterType = itk::ImageFileWriter< OutputImageType >;
5252
WriterType::Pointer writer = WriterType::New();
5353
std::string outputFilename = argv[3];
5454
writer->SetFileName(outputFilename.c_str());

example/computeGLRLMFeatures.cxx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@ int main(int argc, char * argv[])
1414
std::cerr << argv[0];
1515
std::cerr << " <InputFilePath> <MaskFilePath> <OutputFilePath> ";
1616
std::cerr << " <NumberOfBinsPerAxis> <PixelValueMin> ";
17-
std::cerr << " <PixelValueMax> <DistanceValueMin> " ;
17+
std::cerr << " <PixelValueMax> <DistanceValueMin> ";
1818
std::cerr << " <DistanceValueMax> <NeighborhoodRadius> ";
1919
std::cerr << std::endl;
2020
return EXIT_FAILURE;
2121
}
2222

2323
// Setup types
24-
typedef itk::Image< int, 3 > InputImageType;
25-
typedef itk::Image< itk::Vector< float, 10 > , 3 > OutputImageType;
26-
typedef itk::ImageFileReader< InputImageType > readerType;
27-
typedef itk::Neighborhood<typename InputImageType::PixelType,
28-
InputImageType::ImageDimension> NeighborhoodType;
24+
using InputImageType = itk::Image< int, 3 >;
25+
using OutputImageType = itk::Image< itk::Vector< float, 10 > , 3 >;
26+
using readerType = itk::ImageFileReader< InputImageType >;
27+
using NeighborhoodType = itk::Neighborhood<typename InputImageType::PixelType,
28+
InputImageType::ImageDimension>;
2929
NeighborhoodType neighborhood;
3030

3131
// Create and setup a reader
@@ -37,8 +37,8 @@ int main(int argc, char * argv[])
3737
maskReader->SetFileName( argv[2] );
3838

3939
// Apply the filter
40-
typedef itk::Statistics::RunLengthTextureFeaturesImageFilter
41-
< InputImageType, OutputImageType > FilterType;
40+
using FilterType = itk::Statistics::RunLengthTextureFeaturesImageFilter
41+
< InputImageType, OutputImageType >;
4242
FilterType::Pointer filter = FilterType::New();
4343
filter->SetInput(reader->GetOutput());
4444
filter->SetMaskImage(maskReader->GetOutput());
@@ -51,7 +51,7 @@ int main(int argc, char * argv[])
5151
filter->SetNeighborhoodRadius(neighborhood.GetRadius());
5252

5353
// Create and setup a writter
54-
typedef itk::ImageFileWriter< OutputImageType > WriterType;
54+
using WriterType = itk::ImageFileWriter< OutputImageType >;
5555
WriterType::Pointer writer = WriterType::New();
5656
std::string outputFilename = argv[3];
5757
writer->SetFileName(outputFilename.c_str());

include/itkCoocurrenceTextureFeaturesImageFilter.h

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -88,39 +88,39 @@ class ITK_TEMPLATE_EXPORT CoocurrenceTextureFeaturesImageFilter
8888
: public ImageToImageFilter< TInputImage, TOutputImage >
8989
{
9090
public:
91-
/** Standard typedefs */
92-
typedef CoocurrenceTextureFeaturesImageFilter Self;
93-
typedef ImageToImageFilter< TInputImage, TOutputImage > Superclass;
94-
typedef SmartPointer< Self > Pointer;
95-
typedef SmartPointer< const Self > ConstPointer;
91+
/** Standard type alias */
92+
using Self = CoocurrenceTextureFeaturesImageFilter;
93+
using Superclass = ImageToImageFilter< TInputImage, TOutputImage >;
94+
using Pointer = SmartPointer< Self >;
95+
using ConstPointer = SmartPointer< const Self >;
9696

9797
/** Run-time type information (and related methods). */
9898
itkTypeMacro(CoocurrenceTextureFeaturesImageFilter, ImageToImageFilter);
9999

100100
/** standard New() method support */
101101
itkNewMacro(Self);
102102

103-
typedef TInputImage InputImageType;
104-
typedef TOutputImage OutputImageType;
105-
typedef TMaskImage MaskImageType;
103+
using InputImageType = TInputImage;
104+
using OutputImageType = TOutputImage;
105+
using MaskImageType = TMaskImage;
106106

107-
typedef typename InputImageType::PixelType PixelType;
108-
typedef typename MaskImageType::PixelType MaskPixelType;
109-
typedef typename InputImageType::IndexType IndexType;
110-
typedef typename InputImageType::PointType PointType;
107+
using PixelType = typename InputImageType::PixelType;
108+
using MaskPixelType = typename MaskImageType::PixelType;
109+
using IndexType = typename InputImageType::IndexType;
110+
using PointType = typename InputImageType::PointType;
111111

112-
typedef typename InputImageType::OffsetType OffsetType;
113-
typedef VectorContainer< unsigned char, OffsetType > OffsetVector;
114-
typedef typename OffsetVector::Pointer OffsetVectorPointer;
115-
typedef typename OffsetVector::ConstPointer OffsetVectorConstPointer;
112+
using OffsetType = typename InputImageType::OffsetType;
113+
using OffsetVector = VectorContainer< unsigned char, OffsetType >;
114+
using OffsetVectorPointer = typename OffsetVector::Pointer;
115+
using OffsetVectorConstPointer = typename OffsetVector::ConstPointer;
116116

117-
typedef typename InputImageType::RegionType InputRegionType;
118-
typedef typename OutputImageType::RegionType OutputRegionType;
117+
using InputRegionType = typename InputImageType::RegionType;
118+
using OutputRegionType = typename OutputImageType::RegionType;
119119

120-
typedef typename itk::ConstNeighborhoodIterator< InputImageType >::RadiusType NeighborhoodRadiusType;
120+
using NeighborhoodRadiusType = typename itk::ConstNeighborhoodIterator< InputImageType >::RadiusType;
121121

122-
typedef typename NumericTraits<PixelType>::RealType MeasurementType;
123-
typedef typename NumericTraits<PixelType>::RealType RealType;
122+
using MeasurementType = typename NumericTraits<PixelType>::RealType;
123+
using RealType = typename NumericTraits<PixelType>::RealType;
124124

125125
/** Method to set/get the Neighborhood radius */
126126
itkSetMacro(NeighborhoodRadius, NeighborhoodRadiusType);
@@ -134,7 +134,7 @@ class ITK_TEMPLATE_EXPORT CoocurrenceTextureFeaturesImageFilter
134134

135135

136136
/** Specify the default number of bins per axis */
137-
static constexpr unsigned int DefaultBinsPerAxis = 256 ;
137+
static constexpr unsigned int DefaultBinsPerAxis = 256;
138138

139139
/**
140140
* Set the offsets over which the intensities pairs will be computed.
@@ -190,8 +190,8 @@ class ITK_TEMPLATE_EXPORT CoocurrenceTextureFeaturesImageFilter
190190
itkGetConstMacro(Normalize, bool);
191191
itkBooleanMacro(Normalize);
192192

193-
typedef typename OutputImageType::PixelType OutputPixelType;
194-
typedef typename NumericTraits< OutputPixelType >::ScalarRealType OutputRealType;
193+
using OutputPixelType = typename OutputImageType::PixelType;
194+
using OutputRealType = typename NumericTraits< OutputPixelType >::ScalarRealType;
195195

196196
#ifdef ITK_USE_CONCEPT_CHECKING
197197
// Begin concept checking
@@ -202,10 +202,10 @@ class ITK_TEMPLATE_EXPORT CoocurrenceTextureFeaturesImageFilter
202202

203203
protected:
204204

205-
typedef int HistogramIndexType;
206-
typedef itk::Image< HistogramIndexType, TInputImage::ImageDimension > DigitizedImageType;
207-
typedef typename itk::ConstNeighborhoodIterator< DigitizedImageType > NeighborhoodIteratorType;
208-
typedef typename NeighborhoodIteratorType::NeighborIndexType NeighborIndexType;
205+
using HistogramIndexType = int;
206+
using DigitizedImageType = itk::Image< HistogramIndexType, TInputImage::ImageDimension >;
207+
using NeighborhoodIteratorType = typename itk::ConstNeighborhoodIterator< DigitizedImageType >;
208+
using NeighborIndexType = typename NeighborhoodIteratorType::NeighborIndexType;
209209

210210
CoocurrenceTextureFeaturesImageFilter();
211211
~CoocurrenceTextureFeaturesImageFilter() override {}

include/itkCoocurrenceTextureFeaturesImageFilter.hxx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ CoocurrenceTextureFeaturesImageFilter< TInputImage, TOutputImage, TMaskImage>
4848
// Set the offset directions to their defaults: half of all the possible
4949
// directions 1 pixel away. (The other half is included by symmetry.)
5050
// We use a neighborhood iterator to calculate the appropriate offsets.
51-
typedef Neighborhood<typename InputImageType::PixelType,
52-
InputImageType::ImageDimension> NeighborhoodType;
51+
using NeighborhoodType = Neighborhood<typename InputImageType::PixelType,
52+
InputImageType::ImageDimension>;
5353
NeighborhoodType hood;
5454
hood.SetRadius( 1 );
5555

@@ -89,14 +89,13 @@ CoocurrenceTextureFeaturesImageFilter<TInputImage, TOutputImage, TMaskImage>
8989
typename TInputImage::Pointer input = InputImageType::New();
9090
input->Graft(const_cast<TInputImage *>(this->GetInput()));
9191

92-
typedef Digitizer<PixelType,
92+
using DigitizerFunctorType = Digitizer<PixelType,
9393
PixelType,
94-
typename DigitizedImageType::PixelType>
95-
DigitizerFunctorType;
94+
typename DigitizedImageType::PixelType>;
9695

9796
DigitizerFunctorType digitalizer(m_NumberOfBinsPerAxis, m_InsidePixelValue, m_HistogramMinimum, m_HistogramMaximum);
9897

99-
typedef BinaryFunctorImageFilter< MaskImageType, InputImageType, DigitizedImageType, DigitizerFunctorType> FilterType;
98+
using FilterType = BinaryFunctorImageFilter< MaskImageType, InputImageType, DigitizedImageType, DigitizerFunctorType>;
10099
typename FilterType::Pointer filter = FilterType::New();
101100
if (this->GetMaskImage() != nullptr)
102101
{
@@ -176,7 +175,7 @@ CoocurrenceTextureFeaturesImageFilter<TInputImage, TOutputImage, TMaskImage>
176175
for (; fit != faceList.end(); ++fit )
177176
{
178177
NeighborhoodIteratorType inputNIt(m_NeighborhoodRadius, this->m_DigitizedInputImage, *fit );
179-
typedef itk::ImageRegionIterator< OutputImageType> IteratorType;
178+
using IteratorType = itk::ImageRegionIterator< OutputImageType>;
180179
IteratorType outputIt( outputPtr, *fit );
181180

182181
// Iteration over the all image region

include/itkDigitizerFunctor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ template< typename TInput1, typename TInput2 = TInput1, typename TOutput = TInpu
3030
class Digitizer
3131
{
3232
public:
33-
typedef TInput2 PixelType;
34-
typedef TInput1 MaskPixelType;
33+
using PixelType = TInput2;
34+
using MaskPixelType = TInput1;
3535

3636
Digitizer()
3737
: m_NumberOfBinsPerAxis(256),

include/itkFirstOrderTextureFeaturesImageFilter.h

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ class ITK_TEMPLATE_EXPORT FirstOrderTextureFeaturesImageFilter:
5757
typename TOutputImage::PixelType > >
5858
{
5959
public:
60-
/** Standard class typedefs. */
61-
typedef FirstOrderTextureFeaturesImageFilter Self;
62-
typedef MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel,
63-
typename Function::FirstOrderTextureHistogram< typename TInputImage::PixelType, typename TOutputImage::PixelType> > Superclass;
64-
typedef SmartPointer< Self > Pointer;
65-
typedef SmartPointer< const Self > ConstPointer;
60+
/** Standard class type alias. */
61+
using Self = FirstOrderTextureFeaturesImageFilter;
62+
using Superclass = MovingHistogramImageFilter< TInputImage, TOutputImage, TKernel,
63+
typename Function::FirstOrderTextureHistogram< typename TInputImage::PixelType, typename TOutputImage::PixelType> >;
64+
using Pointer = SmartPointer< Self >;
65+
using ConstPointer = SmartPointer< const Self >;
6666

6767
/** Standard New method. */
6868
itkNewMacro(Self);
@@ -71,18 +71,18 @@ class ITK_TEMPLATE_EXPORT FirstOrderTextureFeaturesImageFilter:
7171
itkTypeMacro(FirstOrderTextureFeaturesImageFilter,
7272
MovingHistogramMorphologyImageFilter);
7373

74-
/** Image related typedefs. */
75-
typedef TInputImage InputImageType;
76-
typedef TOutputImage OutputImageType;
77-
typedef typename TInputImage::RegionType RegionType;
78-
typedef typename TInputImage::SizeType SizeType;
79-
typedef typename TInputImage::IndexType IndexType;
80-
typedef typename TInputImage::PixelType PixelType;
81-
typedef typename TInputImage::OffsetType OffsetType;
82-
typedef typename Superclass::OutputImageRegionType OutputImageRegionType;
83-
typedef typename TOutputImage::PixelType OutputPixelType;
74+
/** Image related type alias. */
75+
using InputImageType = TInputImage;
76+
using OutputImageType = TOutputImage;
77+
using RegionType = typename TInputImage::RegionType;
78+
using SizeType = typename TInputImage::SizeType;
79+
using IndexType = typename TInputImage::IndexType;
80+
using PixelType = typename TInputImage::PixelType;
81+
using OffsetType = typename TInputImage::OffsetType;
82+
using OutputImageRegionType = typename Superclass::OutputImageRegionType;
83+
using OutputPixelType = typename TOutputImage::PixelType;
8484

85-
/** Image related typedefs. */
85+
/** Image related type alias. */
8686
static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
8787
protected:
8888

include/itkFirstOrderTextureHistogram.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ class ITK_TEMPLATE_EXPORT FirstOrderTextureHistogram
131131
void RemoveBoundary(){}
132132

133133
private:
134-
typedef typename std::map< TInputPixel, size_t > MapType;
134+
using MapType = typename std::map< TInputPixel, size_t >;
135135

136136
MapType m_Map;
137137
size_t m_Count;

0 commit comments

Comments
 (0)