Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
usModuleVersion.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef USMODULEVERSION_H
14 #define USMODULEVERSION_H
15 
16 #include <usGlobalConfig.h>
18 
19 #include <string>
20 
21 namespace us {
22 
42 
43 private:
44 
45  friend class ModulePrivate;
46 
47  unsigned int majorVersion;
48  unsigned int minorVersion;
49  unsigned int microVersion;
50  std::string qualifier;
51 
52  static const char SEPARATOR; // = "."
53 
54  bool undefined;
55 
56 
62  void Validate();
63 
64  ModuleVersion& operator=(const ModuleVersion& v);
65 
66  explicit ModuleVersion(bool undefined = false);
67 
68 public:
69 
74 
80 
92  ModuleVersion(unsigned int majorVersion, unsigned int minorVersion, unsigned int microVersion);
93 
102  ModuleVersion(unsigned int majorVersion, unsigned int minorVersion, unsigned int microVersion, const std::string& qualifier);
103 
125  ModuleVersion(const std::string& version);
126 
132  ModuleVersion(const ModuleVersion& version);
133 
134 
148  static ModuleVersion ParseVersion(const std::string& version);
149 
156  bool IsUndefined() const;
157 
164  unsigned int GetMajor() const;
165 
172  unsigned int GetMinor() const;
173 
180  unsigned int GetMicro() const;
181 
188  std::string GetQualifier() const;
189 
200  std::string ToString() const;
201 
215  bool operator==(const ModuleVersion& object) const;
216 
241  int Compare(const ModuleVersion& object) const;
242 
243 };
244 
245 }
246 
255 MITKCPPMICROSERVICES_EXPORT std::ostream& operator<<(std::ostream& os, const us::ModuleVersion& v);
256 
257 #endif // USMODULEVERSION_H
#define MITKCPPMICROSERVICES_EXPORT
Version identifier for CppMicroServices modules.
unsigned int GetMinor() const
Returns the minorVersion component of this version identifier.
ModuleVersion(const std::string &version)
Created a version identifier from the specified string.
static ModuleVersion EmptyVersion()
The empty version "0.0.0".
std::string GetQualifier() const
Returns the qualifier component of this version identifier.
unsigned int GetMajor() const
Returns the majorVersion component of this version identifier.
static ModuleVersion ParseVersion(const std::string &version)
Parses a version identifier from the specified string.
int Compare(const ModuleVersion &object) const
Compares this ModuleVersion object to another object.
ModuleVersion(unsigned int majorVersion, unsigned int minorVersion, unsigned int microVersion, const std::string &qualifier)
Creates a version identifier from the specified components.
std::string ToString() const
Returns the string representation of this version identifier.
bool operator==(const ModuleVersion &object) const
Compares this ModuleVersion object to another object.
ModuleVersion(unsigned int majorVersion, unsigned int minorVersion, unsigned int microVersion)
Creates a version identifier from the specified numerical components.
bool IsUndefined() const
Returns the undefined state of this version identifier.
static ModuleVersion UndefinedVersion()
Creates an undefined version identifier, representing either infinity or minus infinity.
unsigned int GetMicro() const
Returns the microVersion component of this version identifier.
ModuleVersion(const ModuleVersion &version)
Create a version identifier from another.
MITKCPPMICROSERVICES_EXPORT std::ostream & operator<<(std::ostream &os, const us::ModuleVersion &v)
Stream output operator for ModuleVersion.