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>
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>
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>
119  noexcept(false)
120  {
121  register unsigned int Index;
122 
123  if (printf(UsageFormatHead, GetName(), EQUAL_CHARACTER) < 0)
126  if (fputs(ValueString [0], stdout) < 0)
129  for (Index = 1; Index < GetNumberOfValues(); ++Index)
130  {
131  if (fputc(SEPARATOR_CHARACTER, stdout) < 0)
134  if (fputs(ValueString [Index], stdout) < 0)
137  }
138  if (printf(UsageFormatTail,
139  ValueString [static_cast<unsigned int>(DefaultParameters.*
140  ParameterPointer)]) < 0)
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