src
point_one
fusion_engine
messages
data_version.cc
Go to the documentation of this file.
1
#include "
point_one/fusion_engine/messages/data_version.h
"
2
3
#include <sstream>
4
5
namespace
point_one
{
6
namespace
fusion_engine {
7
namespace
messages {
8
9
std::ostream&
operator<<
(std::ostream& stream,
const
DataVersion
& ver) {
10
if
(ver.
IsValid
()) {
11
return
stream << (int)ver.
major_version
<<
"."
<< ver.
minor_version
;
12
}
else
{
13
return
stream <<
"<invalid>"
;
14
}
15
}
16
17
std::string
ToString
(
const
DataVersion
& ver) {
18
std::stringstream ss;
19
ss << ver;
20
return
ss.str();
21
}
22
23
DataVersion
FromString
(
const
char
* str) {
24
char
* end_c =
nullptr
;
25
long
tmp = 0;
26
DataVersion
version;
27
28
tmp = strtol(str, &end_c, 10);
29
if
(end_c == str || tmp > 0xFF || tmp < 0) {
30
return
INVALID_DATA_VERSION
;
31
}
32
version.
major_version
= (uint8_t)tmp;
33
34
const
char
* minor_str = end_c + 1;
35
36
tmp = strtol(minor_str, &end_c, 10);
37
if
(end_c == minor_str || tmp > 0xFFFF || tmp < 0) {
38
return
INVALID_DATA_VERSION
;
39
}
40
version.
minor_version
= (uint16_t)tmp;
41
42
return
version;
43
}
44
45
}
// namespace messages
46
}
// namespace fusion_engine
47
}
// namespace point_one
data_version.h
point_one::fusion_engine::messages::ToString
std::string ToString(const DataVersion &ver)
Definition:
data_version.cc:17
point_one::fusion_engine::messages::DataVersion::minor_version
uint16_t minor_version
Definition:
data_version.h:26
point_one
GNSS signal and frequency type definitions.
Definition:
logging.h:36
point_one::fusion_engine::messages::DataVersion::major_version
uint8_t major_version
Definition:
data_version.h:25
point_one::fusion_engine::messages::DataVersion::IsValid
bool IsValid() const
Returns whether the stored version is valid.
Definition:
data_version.h:37
point_one::fusion_engine::messages::FromString
DataVersion FromString(const char *str)
Definition:
data_version.cc:23
point_one::fusion_engine::messages::operator<<
std::ostream & operator<<(std::ostream &stream, ConfigType type)
ConfigType stream operator.
Definition:
configuration.h:278
point_one::fusion_engine::messages::DataVersion
A struct representing the version of a data object.
Definition:
data_version.h:22
point_one::fusion_engine::messages::INVALID_DATA_VERSION
constexpr DataVersion INVALID_DATA_VERSION
Definition:
data_version.h:44
Generated by
1.8.18