Awesome
C++ @ Mapbox
The C++ language and projects built on top of it are essential to the Mapbox platform. This is the place to start for developing and deploying C++ at Mapbox. You'll find information about best-practices, gotchas, and helpful libraries/resources for beginning to develop in C++.
Table of contents
- General C++ Setup @ Mapbox (standard compilers & libraries)
- Packaging (Mason, deploying code)
- Node.js addons (writing C++ for Node.js modules)
- Code coverage
- Troubleshooting (profiling, debugging)
- External learning resources (skeleton libraries, reading, videos)
- Glossary
- FAQ (and things that have no home)
Guides
Active C++ projects at Mapbox
- Map rendering with Mapbox GL Native, the core codebase shared between all of the native frontend SDKs, some of which are also in C++ like Qt, and the macOS SDK or iOS, which is in Objective-C++ (a hybrid language).
- Mapbox directions is based on OSRM
- Mapbox geocoding uses carmen-cache for indexes
- Mapbox tile services use Mapnik and node-mapbox-gl-native
- Mapbox scripts for processing OSM are often based on libosmium. Minjur creates geojson and tippecanoe creates vector tiles for OSM QA tiles.
- Mapbox Vector Tile encoding, decoding, and analysis tools: lib-vector-tile, protozero, vtzero, mapnik-vector-tile, vtvalidate, vtquery