From a5d95afb96eb9a3b65d82f5f84bf8e4a4fb4c8ac Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Fri, 28 Aug 2026 21:12:55 +0200 Subject: clang-format C++ sources --- server/src/api.cppm | 140 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 80 insertions(+), 60 deletions(-) (limited to 'server/src/api.cppm') diff --git a/server/src/api.cppm b/server/src/api.cppm index caeb44c..66e8f45 100644 --- a/server/src/api.cppm +++ b/server/src/api.cppm @@ -15,65 +15,85 @@ import :trace; namespace { - namespace chrono = std::chrono; - namespace json = boost::json; - namespace views = std::views; - -} // namespace - -export -namespace routemon::api { - - struct relevant_road_closure { - std::vector relevant_lss; - }; - auto tag_invoke(json::value_from_tag, json::value& jv, relevant_road_closure const& clo) -> void; - - struct relevant_situation { - std::string id; - std::optional location; - std::vector comments; - std::vector relevant_road_closures; - }; - auto tag_invoke(json::value_from_tag, json::value& jv, relevant_situation const& sit) -> void; - - struct track_segment { - geo::linestring points; - }; - auto tag_invoke(json::value_from_tag, json::value& jv, track_segment const& seg) -> void; - - struct track { - std::vector segments; - }; - auto tag_invoke(json::value_from_tag, json::value& jv, track const& track) -> void; - - struct process_gpx_result { - std::vector tracks; - std::vector relevant_situations; - }; - auto tag_invoke(json::value_from_tag, json::value& jv, process_gpx_result const& res) -> void; - - struct sysinfo { - time::timestamp using_publication_of; - }; - auto tag_invoke(json::value_from_tag, json::value& jv, sysinfo const& info) -> void; - - class handler { - using lse_index_value = std::tuple, std::shared_ptr>; - using p_index_value = std::pair>; - using lse_index = bgeo::index::rtree>; - using p_index = bgeo::index::rtree>; - - log::logger l_; - datex2::situation_publication pub_; - lse_index lse_index_; - p_index p_index_; - - public: - explicit handler(log::logger const& l, datex2::situation_publication pub); - - auto process_gpx(gpx::file&& gpx_file) -> std::optional; - auto sysinfo() -> sysinfo; - }; +namespace chrono = std::chrono; +namespace json = boost::json; +namespace views = std::views; + +} // namespace + +export namespace routemon::api { + +struct relevant_road_closure +{ + std::vector relevant_lss; +}; + +struct relevant_situation +{ + std::string id; + std::optional location; + std::vector comments; + std::vector relevant_road_closures; +}; + +struct track_segment +{ + geo::linestring points; +}; + +struct track +{ + std::vector segments; +}; + +struct process_gpx_result +{ + std::vector tracks; + std::vector relevant_situations; +}; + +struct sysinfo +{ + time::timestamp using_publication_of; +}; + +auto tag_invoke( + json::value_from_tag, json::value& jv, relevant_road_closure const& clo) + -> void; +auto tag_invoke( + json::value_from_tag, json::value& jv, relevant_situation const& sit) + -> void; +auto tag_invoke(json::value_from_tag, json::value& jv, track_segment const& seg) + -> void; +auto tag_invoke(json::value_from_tag, json::value& jv, track const& track) + -> void; +auto tag_invoke( + json::value_from_tag, json::value& jv, process_gpx_result const& res) + -> void; +auto tag_invoke(json::value_from_tag, json::value& jv, sysinfo const& info) + -> void; + +class handler +{ + using lse_index_value = std::tuple< + geo::box, std::shared_ptr, + std::shared_ptr>; + using p_index_value = + std::pair>; + using lse_index = + bgeo::index::rtree>; + using p_index = bgeo::index::rtree>; + + log::logger l_; + datex2::situation_publication pub_; + lse_index lse_index_; + p_index p_index_; + +public: + explicit handler(log::logger const& l, datex2::situation_publication pub); + + auto process_gpx(gpx::file&& gpx_file) -> std::optional; + auto sysinfo() -> sysinfo; +}; } // namespace routemon::api -- cgit v1.3