1 /*=========================================================================
2  *
3  *  Copyright Insight Software Consortium
4  *
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *         http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef itkImageSourceCommon_h
19 #define itkImageSourceCommon_h
20 
21 #include "ITKCommonExport.h"
22 #include "itkImageRegionSplitterBase.h"
23 
24 namespace itk
25 {
26 
27 /** \class ImageSourceCommon
28  * \brief Secondary base class of ImageSource common between templates
29  *
30  * This class provides common non-templated code which can be compiled
31  * and used by all templated versions of ImageSource.
32  *
33  * This class must be inherited privately, and light-weight adapting
34  * of methods is required for virtual methods or non-private methods
35  * for the ImageSource interface.
36  *
37  * \ingroup ITKCommon
38  */
39 struct ITKCommon_EXPORT ImageSourceCommon
40 {
41   /**
42    * Provide access to a common static object for image region splitting
43    */
44   static  const ImageRegionSplitterBase*  GetGlobalDefaultSplitter();
45 };
46 
47 } // end namespace itk
48 
49 #endif
50