1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#pragma once

#include <kooling/datamodel/distance.h>
#include <kooling/datamodel/motion-type.h>
#include <kooling/datamodel/speed.h>
#include <kooling/datamodel/timestamp.h>
#include <kooling/geo/coordinate.h>

#include <deque>
#include <string>

#include <boost/container_hash/hash.hpp>

namespace kooling::datamodel {

struct sensor_data_point
{
    using coordinate_t  = kooling::geo::coordinate;
    using distance_t    = kooling::datamodel::distance;
    using motion_type_t = kooling::datamodel::motion_type;
    using speed_t       = kooling::datamodel::speed;
    using timestamp_t   = kooling::datamodel::timestamp;
    using duration_t    = kooling::datamodel::duration;

    timestamp_t   timestamp   {};
    motion_type_t motion_type { motion_type_t::none };
    coordinate_t  coord       {};
    int           steps       {};
    distance_t    distance    {};
    duration_t    duration    {};
    speed_t       speed       {};
    double        accuracy    {};
    std::string   bluetooth   {};
};

inline kooling::datamodel::motion_type get_motion_type(const sensor_data_point& dp)<--- The function 'get_motion_type' is never used.
{
    return dp.motion_type;
}
using sensor_data = std::deque<sensor_data_point>;

} // namespace kooling::datamodel