STE-Industries: utilities testing
EnumeratedParameterDescriptor.tpl
Go to the documentation of this file.
1
14
namespace
GraphicSpace
15
{
16
38
39
template
<
typename
ENUMERATED_TYPE>
40
inline
EnumeratedParameterDescriptor<ENUMERATED_TYPE>::
41
EnumeratedParameterDescriptor
(
const
char
* thisName,
42
ENUMERATED_TYPE
Bitmap::CorrectionParameters
::*
43
thisParameterPointer,
EnumeratedExceptionType
thisException)
44
noexcept:
ParameterDescriptor
(thisName),
45
ParameterPointer(thisParameterPointer),
46
ExceptionKind(thisException)
47
{
48
}
49
73
74
template
<
typename
ENUMERATED_TYPE>
75
void
EnumeratedParameterDescriptor<ENUMERATED_TYPE>::Assign
(
const
char
*
76
String,
Bitmap::CorrectionParameters
& Parameters)
const
77
noexcept(
false
)
78
{
79
register
unsigned
int
Index;
80
81
if
(*String != EQUAL_CHARACTER)
82
throw
EnumeratedException
(ExceptionKind);
83
++String;
84
for
(Index = 0; Index < GetNumberOfValues(); ++Index)
85
if
(strcmp(String, ValueString [Index]) == 0)
86
{
87
if
(String [strlen(ValueString [Index])] !=
END_STRING
)
88
throw
EnumeratedException
(ExceptionKind);
89
Parameters.*ParameterPointer =
90
static_cast<
ENUMERATED_TYPE
>
(Index);
91
return
;
92
}
93
}
94
115
116
template
<
typename
ENUMERATED_TYPE>
117
void
EnumeratedParameterDescriptor<ENUMERATED_TYPE>::PrintUsage
(
const
118
Bitmap::CorrectionParameters
&
DefaultParameters
)
const
119
noexcept(
false
)
120
{
121
register
unsigned
int
Index;
122
123
if
(printf(UsageFormatHead, GetName(), EQUAL_CHARACTER) < 0)
124
throw
FileException
(
FileExceptionType::FILE_WRITE_ERROR
,
125
STANDARD_OUTPUT
);
126
if
(fputs(ValueString [0], stdout) < 0)
127
throw
FileException
(
FileExceptionType::FILE_WRITE_ERROR
,
128
STANDARD_OUTPUT
);
129
for
(Index = 1; Index < GetNumberOfValues(); ++Index)
130
{
131
if
(fputc(SEPARATOR_CHARACTER, stdout) < 0)
132
throw
FileException
(
FileExceptionType::FILE_WRITE_ERROR
,
133
STANDARD_OUTPUT
);
134
if
(fputs(ValueString [Index], stdout) < 0)
135
throw
FileException
(
FileExceptionType::FILE_WRITE_ERROR
,
136
STANDARD_OUTPUT
);
137
}
138
if
(printf(UsageFormatTail,
139
ValueString [
static_cast<
unsigned
int
>
(
DefaultParameters
.*
140
ParameterPointer)]) < 0)
141
throw
FileException
(
FileExceptionType::FILE_WRITE_ERROR
,
142
STANDARD_OUTPUT
);
143
}
144
145
}
GraphicSpace::EnumeratedParameterDescriptor::Assign
void Assign(const char *String, Bitmap::CorrectionParameters &Parameters) const noexcept(false) override
Definition:
EnumeratedParameterDescriptor.tpl:75
GraphicSpace::ParameterDescriptor
Definition:
ParameterDescriptor.h:31
GraphicSpace::EnumeratedParameterDescriptor::PrintUsage
void PrintUsage(const Bitmap::CorrectionParameters &DefaultParameters) const noexcept(false) override
Definition:
EnumeratedParameterDescriptor.tpl:117
GraphicSpace::FileExceptionType::FILE_WRITE_ERROR
@ FILE_WRITE_ERROR
GraphicSpace::EnumeratedException
Definition:
EnumeratedException.h:59
STANDARD_OUTPUT
static constexpr const char * STANDARD_OUTPUT
Definition:
Graphic.h:35
DefaultParameters
static const Bitmap::CorrectionParameters DefaultParameters
Definition:
Main.cpp:109
GraphicSpace::EnumeratedExceptionType
EnumeratedExceptionType
Definition:
EnumeratedException.h:35
GraphicSpace::Bitmap::CorrectionParameters
Definition:
Bitmap.h:182
END_STRING
static constexpr char END_STRING
Definition:
Graphic.h:26
GraphicSpace
Definition:
Bitmap.cpp:29
GraphicSpace::FileException
Definition:
FileException.h:60
GraphicSpace::EnumeratedParameterDescriptor::EnumeratedParameterDescriptor
EnumeratedParameterDescriptor(const EnumeratedParameterDescriptor &Descriptor) noexcept=delete
Desktop
Termite
Include
EnumeratedParameterDescriptor.tpl
Generated on Thu Mar 14 2024 10:18:16 for STE-Industries: utilities testing by
1.8.17