version.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, Tony Baltovski
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice,
9  * this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  * 3. Neither the name of the copyright holder nor the names of its
14  * contributors may be used to endorse or promote products derived from
15  * this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27  * POSSIBILITY OF SUCH DAMAGE.
28  */
30 
31 #include <sstream>
32 #include <string>
33 
34 namespace mocap_optitrack
35 {
36 
38 {
39  setVersion(0, 0, 0, 0);
40 }
41 
42 Version::Version(int major, int minor, int revision, int build)
43 {
44  setVersion(major, minor, revision, build);
45 }
46 
47 Version::Version(const std::string& version)
48  : v_string(version)
49 {
50  int major = 0, minor = 0, revision = 0, build = 0;
51  std::sscanf(version.c_str(), "%d.%d.%d.%d", &major, &minor, &revision, &build);
52  setVersion(major, minor, revision, build);
53 }
54 
56 {
57 }
58 void Version::setVersion(int major, int minor, int revision, int build)
59 {
60  v_major = major;
61  v_minor = minor;
62  v_revision = revision;
63  v_build = build;
64 
65  std::stringstream sstr;
66  sstr << v_major << "." << v_minor << "." << v_revision << "." << v_build;
67  v_string = sstr.str();
68 }
69 
70 std::string const& Version::getVersionString() const
71 {
72  return v_string;
73 }
74 
75 bool Version::operator > (const Version& comparison) const
76 {
77  if (v_major > comparison.v_major)
78  return true;
79  if (v_minor > comparison.v_minor)
80  return true;
81  if (v_revision > comparison.v_revision)
82  return true;
83  if (v_build > comparison.v_build)
84  return true;
85  return false;
86 }
87 
88 bool Version::operator >= (const Version& comparison) const
89 {
90  return ((*this > comparison) || (*this == comparison));
91 }
92 
93 bool Version::operator < (const Version& comparison) const
94 {
95  if (v_major < comparison.v_major)
96  return true;
97  if (v_minor < comparison.v_minor)
98  return true;
99  if (v_revision < comparison.v_revision)
100  return true;
101  if (v_build < comparison.v_build)
102  return true;
103  return false;
104 }
105 
106 bool Version::operator <= (const Version& comparison) const
107 {
108  return ((*this < comparison) || (*this == comparison));
109 }
110 
111 bool Version::operator == (const Version& comparison) const
112 {
113  return v_major == comparison.v_major
114  && v_minor == comparison.v_minor
115  && v_revision == comparison.v_revision
116  && v_build == comparison.v_build;
117 }
118 
119 } // namespace mocap_optitrack
std::string const & getVersionString() const
Definition: version.cpp:70
bool operator==(const Version &comparison) const
Definition: version.cpp:111
void setVersion(int major, int minor, int revision, int build)
Definition: version.cpp:58
bool operator>(const Version &comparison) const
Definition: version.cpp:75
Version class containing the version information and helpers for comparison.
Definition: version.h:38
bool operator<=(const Version &comparison) const
Definition: version.cpp:106
bool operator>=(const Version &comparison) const
Definition: version.cpp:88
std::string v_string
Definition: version.h:58
bool operator<(const Version &comparison) const
Definition: version.cpp:93


mocap_optitrack
Author(s): Kathrin Gräve , Alex Bencz/ , Tony Baltovski , JD Yamokoski
autogenerated on Fri Mar 26 2021 02:05:51