ITK
5.2.0
Insight Toolkit
ITK
Modules
Core
Common
include
itkThreadedDomainPartitioner.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
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 itkThreadedDomainPartitioner_h
19
#define itkThreadedDomainPartitioner_h
20
21
#include "
itkIntTypes.h
"
22
#include "
itkMultiThreaderBase.h
"
23
#include "
itkObject.h
"
24
25
namespace
itk
26
{
27
46
template
<
typename
TDomain>
47
class
ITK_TEMPLATE_EXPORT
ThreadedDomainPartitioner
:
public
Object
48
{
49
public
:
50
ITK_DISALLOW_COPY_AND_MOVE(
ThreadedDomainPartitioner
);
51
53
using
Self
=
ThreadedDomainPartitioner
;
54
using
Superclass
=
Object
;
55
using
Pointer
=
SmartPointer<Self>
;
56
using
ConstPointer
=
SmartPointer<const Self>
;
57
59
itkTypeMacro(
ThreadedDomainPartitioner
,
Object
);
60
62
using
DomainType
= TDomain;
63
75
virtual
ThreadIdType
76
PartitionDomain(
const
ThreadIdType
threadId,
77
const
ThreadIdType
requestedTotal,
78
const
DomainType
& completeDomain,
79
DomainType
& subDomain)
const
= 0;
80
81
protected
:
82
ThreadedDomainPartitioner
() =
default
;
83
~
ThreadedDomainPartitioner
()
override
=
default
;
84
};
85
86
}
// end namespace itk
87
88
#endif
itk::ThreadedIteratorRangePartitionerDomain
Domain type for the ThreadedIteratorRangePartitioner.
Definition:
itkThreadedIteratorRangePartitioner.h:39
itk::SmartPointer< Self >
itk::ThreadIdType
unsigned int ThreadIdType
Definition:
itkIntTypes.h:99
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:59
itkIntTypes.h
itkObject.h
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnnulusOperator.h:24
itkMultiThreaderBase.h
itk::ThreadedDomainPartitioner
Virtual base class for partitioning a domain into subsets to be processed per thread when parallel pr...
Definition:
itkThreadedDomainPartitioner.h:47
itk::Object
Base class for most ITK classes.
Definition:
itkObject.h:62
Generated on Thu Apr 1 2021 02:05:59 for ITK by
1.8.16