CPP is a multiple criteria decision method to evaluate alternatives on complex decision making problems, by a probabilistic approach. The CPP was created and expanded by Sant'Anna, Annibal P. (2015) <doi:10.1007/978-3-319-11277-0>.

Provides a header only, C++11 interface to R's C
    interface.  Compared to other approaches 'cpp11' strives to be safe
    against long jumps from the C API as well as C++ exceptions, conform
    to normal R function semantics and supports interaction with 'ALTREP'
    vectors.

Allow to run 'Cppcheck' (<https://cppcheck.sourceforge.io/>)
    on 'C' and 'C++' files with a 'R' command or a 'RStudio' addin. The report
    appears in the 'RStudio' viewer pane as a formatted 'HTML' file. It is
    also possible to get this report with a 'shiny' application. 'Cppcheck' 
    can spot many error types and it can also give some recommendations on the 
    code.

Compare double-precision floating point vectors using
    relative differences. All equality operations are calculated using
    'cpp11'.

Calculation of distances, shortest paths and isochrones on weighted graphs using several variants of Dijkstra algorithm.
    Proposed algorithms are unidirectional Dijkstra (Dijkstra, E. W. (1959) <doi:10.1007/BF01386390>),
    bidirectional Dijkstra (Goldberg, Andrew & Fonseca F. Werneck, Renato (2005) <https://archive.siam.org/meetings/alenex05/papers/03agoldberg.pdf>),
    A* search (P. E. Hart, N. J. Nilsson et B. Raphael (1968) <doi:10.1109/TSSC.1968.300136>),
    new bidirectional A* (Pijls & Post (2009) <https://repub.eur.nl/pub/16100/ei2009-10.pdf>),
    Contraction hierarchies (R. Geisberger, P. Sanders, D. Schultes and D. Delling (2008) <doi:10.1007/978-3-540-68552-4_24>),
    PHAST (D. Delling, A.Goldberg, A. Nowatzyk, R. Werneck (2011) <doi:10.1016/j.jpdc.2012.02.007>).
    Algorithms for solving the traffic assignment problem are All-or-Nothing assignment,
    Method of Successive Averages,
    Frank-Wolfe algorithm (M. Fukushima (1984) <doi:10.1016/0191-2615(84)90029-8>),
    Conjugate and Bi-Conjugate Frank-Wolfe algorithms (M. Mitradjieva, P. O. Lindberg (2012) <doi:10.1287/trsc.1120.0409>),
    Algorithm-B (R. B. Dial (2006) <doi:10.1016/j.trb.2006.02.008>).