Commit Graph

199 Commits

Author SHA1 Message Date
Daniel J. Hofmann 65ba774ebc Adds publicly facing alias headers for parameters 2016-03-18 17:33:00 +01:00
Daniel J. Hofmann c88eeb89c6 We don't need templates at all, this is not CRTP? 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann 49a173652b Service skeletons for nearest, trip, match 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann e4dace1d51 Fix grammar constraint and enable all plugin links 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann 43d1e40284 Plugin grammar skeletons 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann 139220058e Enforce parameter and grammar type to catch subtle bugs 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann 11a92a8e54 Link parameters to grammars 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann d3a2c1c41c Require a BaseParameters type at compile time via enable_if 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann 566505fd0f Adapts Nearest plugin to new API 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann 9dada6b46a Fix deleting incomplete type and make Engine moveable only 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann f9d2440d95 Adapts publicly facing new API 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann a4387f39f1 Adapts NearestParameters to new API 2016-03-18 17:32:59 +01:00
Patrick Niklaus 1902292629 Initial non-building match plugin 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann 445df08fb4 Semantic action handler requires passing optional by value and fusion::vector2 2016-03-18 17:32:59 +01:00
Patrick Niklaus 27a2b061bf Add tests for bearing parsing 2016-03-18 17:32:59 +01:00
Patrick Niklaus 944947962b Add table service 2016-03-18 17:32:59 +01:00
Patrick Niklaus fda8f6ecef Add table API 2016-03-18 17:32:59 +01:00
Daniel J. Hofmann ca6c1d7bb1 Optional<T> semantic action handler takes T argument 2016-03-18 17:32:59 +01:00
Patrick Niklaus d88dda1a45 Fix parameter parsing tests 2016-03-18 17:32:59 +01:00
Patrick Niklaus 207f1d7732 Fix table plugin 2016-03-18 17:32:58 +01:00
Daniel J. Hofmann d73600387b First take at distance table API re-write 2016-03-18 17:32:58 +01:00
Daniel J. Hofmann 9194ab590c Adapts TableParameters and its validation to new API 2016-03-18 17:32:58 +01:00
Patrick Niklaus 68eeb20c5c Add viaroute suport for new API 2016-03-18 17:32:58 +01:00
Patrick Niklaus 2f3b4373f9 Also exclude the compressed flag from the data format 2016-03-18 17:30:13 +01:00
Patrick Niklaus 1b25bebeac Remove geometry indicator 2016-03-18 17:30:13 +01:00
Daniel J. Hofmann b1c84b598f Print the _local_ endpoint Boost ASIO assigns a port to, fixes #2097 2016-03-18 12:09:28 +01:00
Daniel J. Hofmann 8640129835 Ampersand binds to variable name 2016-03-15 11:47:57 +01:00
Daniel J. Hofmann 655dd2277c Eliminate extra semicola 2016-03-15 11:47:57 +01:00
Daniel J. Hofmann 40f95191a0 Do not copy pairs in loop 2016-03-15 11:47:57 +01:00
Daniel J. Hofmann a013da860e Fixes unneeded includes in contractor header and self-include 2016-03-15 10:44:33 +01:00
Moritz Kobitzsch 4150c804df Improve the core search stopping criterion 2016-03-15 09:33:10 +01:00
Patrick Niklaus 8912928581 Disable alternatives by defaul fixes #2072 2016-03-10 21:01:30 +01:00
Daniel J. Hofmann ac0279aa83 RAII for auto-closing file streams
Small fixes I didn't want to include in unrelated PRs.

There are a few left in `storage.cpp` but since it's a single function
in 600 lines of code, I didn't want to touch the mess. The others are
safe to remove, cucumber and test run on Finland gives 👍.
2016-03-09 17:46:02 +01:00
Patrick Niklaus adc3bacea9 Add pruning based on @MoKob's idea in #1921 2016-03-08 00:43:45 +01:00
Patrick Niklaus f86b5a44bc Adapt shortest_path and viaroute to core search 2016-03-07 21:26:12 +01:00
Patrick Niklaus a98cc51ac2 Fix up some PR comments 2016-03-04 16:13:30 +01:00
Daniel Patterson 017ff53702 Code review updates. 2016-03-03 13:25:01 -08:00
Daniel Patterson 49441fe204 Make forward/reverse weight/offset calculated at query time,
rather than being cached in the StaticRTree.  This means we
can freely apply traffic data and not have stale values lying
around.  It reduces the size of the RTree on disk, at the expense
of some additional data in RAM.
2016-03-03 10:49:12 -08:00
Daniel J. Hofmann e90b1bbead Allow no sources and no destinations for full table query 2016-03-03 02:00:39 +01:00
Daniel J. Hofmann ce1ca1b625 Fixes critical error in table plugin accessing uninitialized memory
Although we check for valid coordinates in the table plugin via
`check_all_coordinates`, we do not check for #srcs > 0 and #dsts > 0.

This would be fine as the grammar parser combines adding coordinates and
setting their `is_source` and `is_destination` property, which makes
adding coordinates without specifying source or destination impossible.

See: route_parameters.cpp, AddSource, AddDestination, and api_grammar.hpp

In contract, the Polyline codepath does not do this! In fact, it only lets
you set coordinates, but not their `is_source` or `is_destination` property.

See: route_parameters.cpp, SetCoordinatesFromGeometry

Therefore, the following queries only set coordinates:

    http 'http://localhost:5000/table?locs=s_hhFg{arEgEfEgEfEgEfEgEfEgEfEgEfEgEfEgEfEgEfE'
    http 'http://localhost:5000/table?locs=_p~iF~ps|U_ulLnnqC_mqNvxq`@'

but fail to specify sources and targets!

The distance table plugin now assumes `is_course` and `is_destination`
is the same size as `coordinates`.

And happily accesses uninitialized memory.
2016-03-03 02:00:39 +01:00
Patrick Niklaus 0eaa393065 Limit tile zoomlevel to 12+ 2016-03-02 19:59:49 +01:00
Daniel Patterson 6d749777fc Using bind<T> in this case causes ambiguity with GCC 5.2.1 (see http://www.boost.org/doc/libs/develop/libs/bind/doc/html/bind.html#bind.faq.Q_forms). Remove template and let the type be deduced automatically. 2016-03-02 09:54:08 -08:00
David Low 79e8d1aac3 Minor typo fix 2016-03-02 15:16:28 +08:00
Daniel J. Hofmann 2ce553d661 Math functions are not constexpr since they have side-effects (setting errno) :( 2016-03-01 23:51:26 +01:00
Daniel J. Hofmann 66cadac6b6 Explicitly std:: prefix fixed integral types in static rtree header 2016-03-01 23:51:26 +01:00
Daniel J. Hofmann c237c5353b Explicitly std:: prefix fixed integral types in rectangle header 2016-03-01 23:51:26 +01:00
Daniel J. Hofmann c27a7e087f Fixes rectangle header includes 2016-03-01 23:51:26 +01:00
Daniel J. Hofmann 0894590a96 Fixes default declared ctor in Buffer 2016-03-01 23:51:26 +01:00
Daniel J. Hofmann 2efef91f1c Fixes const correctnes and explicit types in tile header 2016-03-01 23:51:26 +01:00
Daniel J. Hofmann 3feba9a581 Fixes Undefined Behavior in tile header from ODR-violation 2016-03-01 23:51:26 +01:00