summaryrefslogtreecommitdiffstats
path: root/server/src/gpx.cppm
diff options
context:
space:
mode:
authorRutger Broekhoff2026-08-28 21:12:55 +0200
committerRutger Broekhoff2026-08-28 21:12:55 +0200
commita5d95afb96eb9a3b65d82f5f84bf8e4a4fb4c8ac (patch)
treeb4e0ec57c3799e9f649c6bfe27cb6c3313b97364 /server/src/gpx.cppm
parent973aec43ea54bbf95b64fbcb636403401d1ca60e (diff)
downloadroutemon-a5d95afb96eb9a3b65d82f5f84bf8e4a4fb4c8ac.tar.gz
routemon-a5d95afb96eb9a3b65d82f5f84bf8e4a4fb4c8ac.zip
clang-format C++ sources
Diffstat (limited to 'server/src/gpx.cppm')
-rw-r--r--server/src/gpx.cppm57
1 files changed, 31 insertions, 26 deletions
diff --git a/server/src/gpx.cppm b/server/src/gpx.cppm
index 20e6242..5872805 100644
--- a/server/src/gpx.cppm
+++ b/server/src/gpx.cppm
@@ -7,37 +7,42 @@ import :xml;
7 7
8namespace routemon::gpx { 8namespace routemon::gpx {
9 9
10 struct metadata { 10struct metadata
11 std::optional<std::string> name; 11{
12 std::optional<std::string> desc; 12 std::optional<std::string> name;
13 }; 13 std::optional<std::string> desc;
14};
14 15
15 struct track_segment { 16struct track_segment
16 geo::linestring waypoints; 17{
17 }; 18 geo::linestring waypoints;
19};
18 20
19 struct track { 21struct track
20 std::optional<std::string> name; 22{
21 std::optional<std::string> desc; 23 std::optional<std::string> name;
22 std::vector<track_segment> segments; 24 std::optional<std::string> desc;
23 }; 25 std::vector<track_segment> segments;
26};
24 27
25 struct file { 28struct file
26 std::string creator; 29{
27 metadata meta; 30 std::string creator;
28 std::vector<track> tracks; 31 metadata meta;
29 }; 32 std::vector<track> tracks;
33};
30 34
31 class reader { 35class reader
32 xml::executor e_; 36{
33 xml::parser<file> p_; 37 xml::executor e_;
38 xml::parser<file> p_;
34 39
35 public: 40public:
36 explicit reader(); 41 explicit reader();
37 42
38 auto init() -> void; 43 auto init() -> void;
39 auto put(std::string_view buf) -> void; 44 auto put(std::string_view buf) -> void;
40 [[nodiscard]] auto finish() -> gpx::file; 45 [[nodiscard]] auto finish() -> gpx::file;
41 }; 46};
42 47
43} // namespace routemon::gpx 48} // namespace routemon::gpx