Project-OSRM / osrm-backend

Open Source Routing Machine - C++ backend
http://map.project-osrm.org
BSD 2-Clause "Simplified" License
6.42k stars 3.4k forks source link

Remove boost::phoenix and migrate from boost::spirit::qi to boost::spirit::x3 #6592

Closed mugr1x closed 1 year ago

mugr1x commented 1 year ago

Related #6551 I know @SiarheiFedartsou mentioned elsewhere it's not good style in general to use both boost::optional and std::optional in the same codebase. The removal is delayed due to spirit::qi and phoenix incompatiblity with std::optional. This would involve adpapting the current parsers (3 ones) completely new in x3, but I do have some progress in my fork. Also for removing phoenix as per docs "Define small unnamed function objects at the actual call site" seems like something one would want to remove for a cleaner codebase and I can see it only being used in conjunction with qi so migrating to x3 would make it obsolete.

mugr1x commented 1 year ago

Also I should probably mention I applied for GSoC 2023 (; Indeed this one: #6558