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
30
#include <
mocap_nokov/version.h
>
31
#include <sstream>
32
33
namespace
mocap_nokov
34
{
35
36
Version::Version
()
37
{
38
setVersion
(0, 0, 0, 0);
39
}
40
41
Version::Version
(
int
major,
int
minor,
int
revision,
int
build)
42
{
43
setVersion
(major, minor, revision, build);
44
}
45
46
Version::Version
(
const
std::string& version)
47
: v_string(version)
48
{
49
int
major=0, minor=0, revision=0, build=0;
50
std::sscanf(version.c_str(),
"%d.%d.%d.%d"
, &major, &minor, &revision, &build);
51
setVersion
(major, minor, revision, build);
52
}
53
54
Version::~Version
()
55
{
56
}
57
void
Version::setVersion
(
int
major,
int
minor,
int
revision,
int
build)
58
{
59
v_major
= major;
60
v_minor
= minor;
61
v_revision
= revision;
62
v_build
= build;
63
64
std::stringstream sstr;
65
sstr <<
v_major
<<
"."
<<
v_minor
<<
"."
<<
v_revision
<<
"."
<<
v_build
;
66
v_string
= sstr.str();
67
}
68
69
std::string
const
&
Version::getVersionString
()
const
70
{
71
return
v_string
;
72
}
73
74
bool
Version::operator >
(
const
Version
& comparison)
const
75
{
76
if
(
v_major
> comparison.
v_major
)
77
return
true
;
78
if
(
v_minor
> comparison.
v_minor
)
79
return
true
;
80
if
(
v_revision
> comparison.
v_revision
)
81
return
true
;
82
if
(
v_build
> comparison.
v_build
)
83
return
true
;
84
return
false
;
85
}
86
87
bool
Version::operator >=
(
const
Version
& comparison)
const
88
{
89
return
((*
this
> comparison) || (*
this
== comparison));
90
}
91
92
bool
Version::operator <
(
const
Version
& comparison)
const
93
{
94
if
(
v_major
< comparison.
v_major
)
95
return
true
;
96
if
(
v_minor
< comparison.
v_minor
)
97
return
true
;
98
if
(
v_revision
< comparison.
v_revision
)
99
return
true
;
100
if
(
v_build
< comparison.
v_build
)
101
return
true
;
102
return
false
;
103
}
104
105
bool
Version::operator <=
(
const
Version
& comparison)
const
106
{
107
return
((*
this
< comparison) || (*
this
== comparison));
108
}
109
110
bool
Version::operator ==
(
const
Version
& comparison)
const
111
{
112
return
v_major
== comparison.
v_major
113
&&
v_minor
== comparison.
v_minor
114
&&
v_revision
== comparison.
v_revision
115
&&
v_build
== comparison.
v_build
;
116
}
117
118
}
mocap_nokov::Version::v_major
int v_major
Definition:
version.h:55
mocap_nokov::Version::setVersion
void setVersion(int major, int minor, int revision, int build)
Definition:
version.cpp:57
mocap_nokov::Version
\breif Version class containing the version information and helpers for comparison.
Definition:
version.h:39
mocap_nokov::Version::v_revision
int v_revision
Definition:
version.h:57
mocap_nokov::Version::getVersionString
std::string const & getVersionString() const
Definition:
version.cpp:69
version.h
mocap_nokov::Version::operator<
bool operator<(const Version &comparison) const
Definition:
version.cpp:92
mocap_nokov::Version::operator>
bool operator>(const Version &comparison) const
Definition:
version.cpp:74
mocap_nokov::Version::operator<=
bool operator<=(const Version &comparison) const
Definition:
version.cpp:105
mocap_nokov::Version::Version
Version()
Definition:
version.cpp:36
mocap_nokov::Version::v_build
int v_build
Definition:
version.h:58
mocap_nokov::Version::v_minor
int v_minor
Definition:
version.h:56
mocap_nokov::Version::v_string
std::string v_string
Definition:
version.h:59
mocap_nokov::Version::operator>=
bool operator>=(const Version &comparison) const
Definition:
version.cpp:87
mocap_nokov::Version::~Version
~Version()
Definition:
version.cpp:54
mocap_nokov
Definition:
data_model.h:39
mocap_nokov::Version::operator==
bool operator==(const Version &comparison) const
Definition:
version.cpp:110
mocap_nokov
Author(s):
autogenerated on Mon Mar 3 2025 03:08:00