SimpleITK
1.0.1
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
SimpleITK
Code
Common
include
sitkConditional.h
Go to the documentation of this file.
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 sitkConditional_h
19
#define sitkConditional_h
20
21
namespace
itk
22
{
23
namespace
simple
24
{
25
26
/* \brief An object for selection of a type at compile-time.
27
* *
28
* If VCode is true, then the member Type will be TIfTrue, otherwise
29
* the member typedef Type will be equivalent to TIfFalse.
30
*
31
*/
32
template
<
bool
VCond,
class
TIfTrue,
class
TIfFalse>
struct
Conditional
{
typedef
TIfTrue
Type
; };
34
template
<
class
TIfTrue,
class
TIfFalse>
35
struct
Conditional
<false, TIfTrue, TIfFalse> {
typedef
TIfFalse
Type
; };
36
39
/* \brief An object for selecting an integer value at compile-time.
40
*
41
*
42
* If VCode is true, then the member Value will be TIfTrue, otherwise
43
* the member Value will be equivalent to TIfFalse.
44
*
45
* This class also contains a typedef for ValueType, which is an the
46
* selected integral constant as a type.
47
*/
48
template
<
bool
VCond,
int
TIfTrue,
int
TIfFalse>
49
struct
ConditionalValue
50
:
public
itk::simple::Conditional
<VCond,
51
nsstd::integral_constant<int, TIfTrue>,
52
nsstd::integral_constant<int, TIfFalse> >
::Type
53
{
54
private
:
55
typedef
ConditionalValue
Self
;
56
public
:
57
typedef
typename
Self::value_type
ValueType
;
58
typedef
typename
Self::type
Type
;
59
60
static
const
ValueType
Value
= Self::value;
61
};
62
63
}
64
}
65
66
#endif // sitkConditional_h
itk::simple::ConditionalValue::Value
static const ValueType Value
Definition:
sitkConditional.h:60
itk::simple::Conditional::Type
TIfTrue Type
Definition:
sitkConditional.h:32
itk
itk::simple::ConditionalValue::Type
Self::type Type
Definition:
sitkConditional.h:58
itk::simple::ConditionalValue
Definition:
sitkConditional.h:49
itk::simple::Conditional
Definition:
sitkConditional.h:32
itk::simple::ConditionalValue::Self
ConditionalValue Self
Definition:
sitkConditional.h:55
itk::simple::ConditionalValue::ValueType
Self::value_type ValueType
Definition:
sitkConditional.h:57
Generated on Thu Jan 16 2020 21:21:37 for SimpleITK by
1.8.9.1