This switches out the `<variant/optional.hpp>` implementation of the optional monad to the one from Boost. The following trick makes sure we keep compile times down: - use `<boost/optional/optional_fwd.hpp>` to forward declare the optional type in header, then include the full blown optional header only in the implementation file. - do the same for the files we touch, e.g. forward declare osmium types, allowing us to remove the osmium header dependency from our headers: `namespace osmium { class Relation; } and then include the appropriate osmium headers in the implementation file only. We should do this globally... References: - http://www.boost.org/doc/libs/1_59_0/libs/optional/doc/html/index.html - https://github.com/osmcode/libosmium/issues/123 |
||
---|---|---|
.. | ||
alternative_path.hpp | ||
direct_shortest_path.hpp | ||
many_to_many.hpp | ||
map_matching.hpp | ||
routing_base.hpp | ||
shortest_path.hpp |