src
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
*/
29
#include <
mocap_optitrack/version.h
>
30
31
#include <sstream>
32
#include <string>
33
34
namespace
mocap_optitrack
35
{
36
37
Version::Version
()
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
55
Version::~Version
()
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
mocap_optitrack::Version::getVersionString
std::string const & getVersionString() const
Definition:
version.cpp:70
mocap_optitrack::Version
\breif Version class containing the version information and helpers for comparison.
Definition:
version.h:38
mocap_optitrack::Version::operator<
bool operator<(const Version &comparison) const
Definition:
version.cpp:93
mocap_optitrack::Version::operator<=
bool operator<=(const Version &comparison) const
Definition:
version.cpp:106
mocap_optitrack::Version::operator>=
bool operator>=(const Version &comparison) const
Definition:
version.cpp:88
mocap_optitrack::Version::v_minor
int v_minor
Definition:
version.h:55
version.h
mocap_optitrack::Version::operator>
bool operator>(const Version &comparison) const
Definition:
version.cpp:75
mocap_optitrack
Definition:
data_model.h:38
mocap_optitrack::Version::operator==
bool operator==(const Version &comparison) const
Definition:
version.cpp:111
mocap_optitrack::Version::setVersion
void setVersion(int major, int minor, int revision, int build)
Definition:
version.cpp:58
mocap_optitrack::Version::v_revision
int v_revision
Definition:
version.h:56
mocap_optitrack::Version::v_string
std::string v_string
Definition:
version.h:58
mocap_optitrack::Version::v_major
int v_major
Definition:
version.h:54
mocap_optitrack::Version::Version
Version()
Definition:
version.cpp:37
mocap_optitrack::Version::v_build
int v_build
Definition:
version.h:57
mocap_optitrack::Version::~Version
~Version()
Definition:
version.cpp:55
mocap_optitrack
Author(s): Kathrin Gräve
, Alex Bencz/
, Tony Baltovski
, JD Yamokoski
autogenerated on Wed Mar 2 2022 00:31:51