* installing *source* package ‘PCMBaseCpp’ ...
** this is package ‘PCMBaseCpp’ version ‘0.1.11’
** package ‘PCMBaseCpp’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++ (GCC) 15.1.1 20250521 (Red Hat 15.1.1-2)’
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/PCMBaseCpp/src'
g++ -std=gnu++20 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/include' -I/usr/local/include   -DARMA_DONT_USE_OPENMP -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c Rcpp.cpp -o Rcpp.o
In file included from QuadraticPoly.h:27,
                 from QuadraticPolyWhite.h:28,
                 from Rcpp.cpp:30:
SPLITT.h:2054: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2054 |     _PRAGMA_OMP_SIMD
SPLITT.h:2072: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2072 |     _PRAGMA_OMP_SIMD
SPLITT.h:2085: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2085 |     _PRAGMA_OMP_SIMD
SPLITT.h:2097: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2097 |     _PRAGMA_OMP_SIMD
SPLITT.h:2107: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2107 |       _PRAGMA_OMP_SIMD
SPLITT.h:2133: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2133 | #pragma omp parallel
SPLITT.h:2135: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2135 |   _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2146: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
 2146 | #pragma omp barrier
SPLITT.h:2149: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2149 |     _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2160: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
 2160 | #pragma omp barrier
SPLITT.h:2163: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2163 |       _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2179: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2179 | #pragma omp parallel
SPLITT.h:2188: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2188 |   _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2198: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2198 |     _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2224: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2224 | #pragma omp parallel
SPLITT.h:2264: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2264 | #pragma omp parallel
SPLITT.h:2266: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2266 |   _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2277: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2277 |     _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2291: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2291 | #pragma omp parallel
SPLITT.h:2293: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2293 |   _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2301: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2301 |     _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2312: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2312 | #pragma omp parallel
SPLITT.h:2321: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2321 |   _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2332: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
 2332 | #pragma omp barrier
SPLITT.h:2335: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2335 |       _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2344: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2344 |       _PRAGMA_OMP_SIMD
SPLITT.h:2358: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2358 |         _PRAGMA_OMP_SIMD
SPLITT.h:2376: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2376 | #pragma omp parallel
SPLITT.h:2385: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2385 |   _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2396: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
 2396 | #pragma omp barrier
SPLITT.h:2399: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2399 |         _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2409: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2409 |         _PRAGMA_OMP_SIMD
SPLITT.h:2424: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2424 | #pragma omp parallel
SPLITT.h:2433: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2433 |   _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2443: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
 2443 | #pragma omp barrier
SPLITT.h:2446: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2446 |       _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2464: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2464 |       _PRAGMA_OMP_SIMD
SPLITT.h:2608: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2608 |     _PRAGMA_OMP_SIMD
SPLITT.h:2622: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2622 |     _PRAGMA_OMP_SIMD
SPLITT.h:2631: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2631 |       _PRAGMA_OMP_SIMD
SPLITT.h:2639: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2639 | #pragma omp parallel
SPLITT.h:2648: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2648 |   _PRAGMA_OMP_FOR_SIMD
SPLITT.h:2657: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2657 |       _PRAGMA_OMP_FOR_SIMD
QuadraticPoly.h: In instantiation of ‘bool PCMBaseCpp::IsDiagonal(const MatType&) [with MatType = arma::Mat<double>]’:
QuadraticPoly.h:94:16:   required from ‘void PCMBaseCpp::DecomposeH(MatEigvalType&, CubeEigvecType&, CubeEigvecType&, const CubeHType&, arma::uword, double) [with MatEigvalType = arma::Mat<std::complex<double> >; CubeEigvecType = arma::Cube<std::complex<double> >; CubeHType = arma::Cube<double>; arma::uword = unsigned int]’
   94 |   if(IsDiagonal(H.slice(r))) {
      |      ~~~~~~~~~~^~~~~~~~~~~~
QuadraticPolyOU.h:152:17:   required from ‘arma::uword PCMBaseCpp::CondGaussianOU<TreeType, DataType>::SetParameter(const std::vector<double>&, arma::uword) [with TreeType = SPLITT::OrderedTree<unsigned int, PCMBaseCpp::LengthAndRegime>; DataType = PCMBaseCpp::NumericTraitData<unsigned int>; arma::uword = unsigned int]’
  152 |       DecomposeH(lambda, P, P_1, H, r, threshold_SV_);
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyOU.h:203:28:   required from here
  203 |     cond_dist_.SetParameter(par, 0);
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
QuadraticPoly.h:47:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
   47 |   for(int i = 0; i < X.n_rows; ++i) {
      |                  ~~^~~~~~~~~~
QuadraticPoly.h:48:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
   48 |     for(int j = i + 1; j < X.n_cols; ++j) {
      |                        ~~^~~~~~~~~~
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::White]’:
SPLITT.h:1926:50:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::White; ModeType = SPLITT::PostOrderMode]’
 1926 |     case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:265:53:   required from here
  265 |       .method( "TraverseTree", &QuadraticPolyWhite::TraverseTree )
      |                                                     ^~~~~~~~~~~~
SPLITT.h:2056:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2056 |       exception_handler_.Run([=]{
      |                              ^~~~
 2057 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2058 |       });
      |       ~                       
SPLITT.h:2056:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2063:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2063 |       exception_handler_.Run([=]{
      |                              ^~~~
 2064 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2065 |         ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2066 |       });
      |       ~                       
SPLITT.h:2063:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::White]’:
SPLITT.h:1927:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::White; ModeType = SPLITT::PostOrderMode]’
 1927 |     case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:265:53:   required from here
  265 |       .method( "TraverseTree", &QuadraticPolyWhite::TraverseTree )
      |                                                     ^~~~~~~~~~~~
SPLITT.h:2074:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2074 |       exception_handler_.Run([=]{
      |                              ^~~~
 2075 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2076 |       });
      |       ~                       
SPLITT.h:2074:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2087:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2087 |         exception_handler_.Run([=]{
      |                                ^~~~
 2088 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2089 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2090 |         });
      |         ~                       
SPLITT.h:2087:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::White]’:
SPLITT.h:1928:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::White; ModeType = SPLITT::PostOrderMode]’
 1928 |     case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:265:53:   required from here
  265 |       .method( "TraverseTree", &QuadraticPolyWhite::TraverseTree )
      |                                                     ^~~~~~~~~~~~
SPLITT.h:2099:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2099 |       exception_handler_.Run([=]{
      |                              ^~~~
 2100 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2101 |       });
      |       ~                       
SPLITT.h:2099:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2109:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2109 |         exception_handler_.Run([=]{
      |                                ^~~~
 2110 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2111 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2112 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |           } else {
      |           ~~~~~~~~              
 2114 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2115 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2116 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2117 |             }
      |             ~                   
 2118 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2119 |           }
      |           ~                     
 2120 |         });
      |         ~                       
SPLITT.h:2109:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::White]’:
SPLITT.h:1929:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::White; ModeType = SPLITT::PostOrderMode]’
 1929 |     case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:265:53:   required from here
  265 |       .method( "TraverseTree", &QuadraticPolyWhite::TraverseTree )
      |                                                     ^~~~~~~~~~~~
SPLITT.h:2268:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2268 |     exception_handler_.Run([=]{
      |                            ^~~~
 2269 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2270 |     });
      |     ~                       
SPLITT.h:2268:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2279:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2279 |         exception_handler_.Run([=]{
      |                                ^~~~
 2280 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2281 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2282 |         });
      |         ~                       
SPLITT.h:2279:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::White]’:
SPLITT.h:1930:63:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::White; ModeType = SPLITT::PostOrderMode]’
 1930 |     case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:265:53:   required from here
  265 |       .method( "TraverseTree", &QuadraticPolyWhite::TraverseTree )
      |                                                     ^~~~~~~~~~~~
SPLITT.h:2137:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2137 |     exception_handler_.Run([=]{
      |                            ^~~~
 2138 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2139 |     });
      |     ~                       
SPLITT.h:2137:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2151:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2151 |         exception_handler_.Run([=]{
      |                                ^~~~
 2152 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2153 |         });
      |         ~                       
SPLITT.h:2151:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2165:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2165 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2166 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2167 |           });
      |           ~                       
SPLITT.h:2165:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::White]’:
SPLITT.h:1931:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::White; ModeType = SPLITT::PostOrderMode]’
 1931 |     case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:265:53:   required from here
  265 |       .method( "TraverseTree", &QuadraticPolyWhite::TraverseTree )
      |                                                     ^~~~~~~~~~~~
SPLITT.h:2190:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2190 |       exception_handler_.Run([=]{
      |                              ^~~~
 2191 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2192 |       });
      |       ~                       
SPLITT.h:2190:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2200:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2200 |         exception_handler_.Run([=]{
      |                                ^~~~
 2201 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2202 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2203 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2204 |           } else {
      |           ~~~~~~~~              
 2205 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2206 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2207 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2208 |             }
      |             ~                   
 2209 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2210 |           }
      |           ~                     
 2211 |         });
      |         ~                       
SPLITT.h:2200:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2181:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
 2181 |   uint tid;
      |        ^~~
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::White]’:
SPLITT.h:1932:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::White; ModeType = SPLITT::PostOrderMode]’
 1932 |     case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:265:53:   required from here
  265 |       .method( "TraverseTree", &QuadraticPolyWhite::TraverseTree )
      |                                                     ^~~~~~~~~~~~
SPLITT.h:2226:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2226 |   exception_handler_.Run([=]{
      |                          ^~~~
 2227 |     while(true) {
      |     ~~~~~~~~~~~~~         
 2228 |       uint i = ParentType::visit_queue_.NextInQueue();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2229 |       if(i == G_NA_UINT) {
      |       ~~~~~~~~~~~~~~~~~~~~
 2230 |         continue;
      |         ~~~~~~~~~         
 2231 |       } else if(i == ParentType::ref_tree_.num_nodes()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2232 |         break;
      |         ~~~~~~            
 2233 |       } else if(i < ParentType::ref_tree_.num_tips()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2234 |         // i is a tip (only Visit)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2235 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2236 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2237 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2238 |       } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2239 |         // i is internal
      |         ~~~~~~~~~~~~~~~~  
 2240 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2241 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2242 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2243 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2244 |         }
      |         ~                 
 2245 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2246 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2247 |       } else {
      |       ~~~~~~~~            
 2248 |         // i is the root
      |         ~~~~~~~~~~~~~~~~  
 2249 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2250 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2251 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2252 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2253 |         }
      |         ~                 
 2254 |         // don't visit the root
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2255 |       }
      |       ~                   
 2256 |     }
      |     ~                     
 2257 |   });
      |   ~                       
SPLITT.h:2226:26: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::White]’:
SPLITT.h:1934:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::White; ModeType = SPLITT::PostOrderMode]’
 1934 |     case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:265:53:   required from here
  265 |       .method( "TraverseTree", &QuadraticPolyWhite::TraverseTree )
      |                                                     ^~~~~~~~~~~~
SPLITT.h:2387:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2387 |       exception_handler_.Run([=]{
      |                              ^~~~
 2388 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2389 |       });
      |       ~                       
SPLITT.h:2387:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2401:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2401 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2402 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2403 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2404 |           });
      |           ~                       
SPLITT.h:2401:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2411:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2411 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2412 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2413 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2414 |           });
      |           ~                       
SPLITT.h:2411:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::White]’:
SPLITT.h:1935:57:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::White; ModeType = SPLITT::PostOrderMode]’
 1935 |     case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:265:53:   required from here
  265 |       .method( "TraverseTree", &QuadraticPolyWhite::TraverseTree )
      |                                                     ^~~~~~~~~~~~
SPLITT.h:2323:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2323 |       exception_handler_.Run([=]{
      |                              ^~~~
 2324 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2325 |       });
      |       ~                       
SPLITT.h:2323:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2337:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2337 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2338 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2339 |           });
      |           ~                       
SPLITT.h:2337:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2346:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2346 |         exception_handler_.Run([=]{
      |                                ^~~~
 2347 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2348 |         });
      |         ~                       
SPLITT.h:2346:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2360:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2360 |             exception_handler_.Run([=]{
      |                                    ^~~~
 2361 |               ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2362 |             });
      |             ~                       
SPLITT.h:2360:36: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::White]’:
SPLITT.h:1936:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::White; ModeType = SPLITT::PostOrderMode]’
 1936 |     case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:265:53:   required from here
  265 |       .method( "TraverseTree", &QuadraticPolyWhite::TraverseTree )
      |                                                     ^~~~~~~~~~~~
SPLITT.h:2435:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2435 |       exception_handler_.Run([=]{
      |                              ^~~~
 2436 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2437 |       });
      |       ~                       
SPLITT.h:2435:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2448:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2448 |         exception_handler_.Run([=]{
      |                                ^~~~
 2449 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2450 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2451 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2452 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2453 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2454 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2455 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2456 |             }
      |             ~                   
 2457 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2458 |           }
      |           ~                     
 2459 |         });
      |         ~                       
SPLITT.h:2448:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2466:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2466 |         exception_handler_.Run([=]{
      |                                ^~~~
 2467 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2468 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2469 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2470 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2471 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2472 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2473 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2474 |             }
      |             ~                   
 2475 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2476 |           }
      |           ~                     
 2477 |         });
      |         ~                       
SPLITT.h:2466:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2485:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2485 |       exception_handler_.Run([=]{
      |                              ^~~~
 2486 |         ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2487 |       });
      |       ~                       
SPLITT.h:2485:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::BM]’:
SPLITT.h:1926:50:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM; ModeType = SPLITT::PostOrderMode]’
 1926 |     case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:335:48:   required from here
  335 |     .method( "TraverseTree", &QuadraticPolyBM::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2056:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2056 |       exception_handler_.Run([=]{
      |                              ^~~~
 2057 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2058 |       });
      |       ~                       
SPLITT.h:2056:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2063:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2063 |       exception_handler_.Run([=]{
      |                              ^~~~
 2064 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2065 |         ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2066 |       });
      |       ~                       
SPLITT.h:2063:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM]’:
SPLITT.h:1927:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM; ModeType = SPLITT::PostOrderMode]’
 1927 |     case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:335:48:   required from here
  335 |     .method( "TraverseTree", &QuadraticPolyBM::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2074:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2074 |       exception_handler_.Run([=]{
      |                              ^~~~
 2075 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2076 |       });
      |       ~                       
SPLITT.h:2074:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2087:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2087 |         exception_handler_.Run([=]{
      |                                ^~~~
 2088 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2089 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2090 |         });
      |         ~                       
SPLITT.h:2087:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM]’:
SPLITT.h:1928:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM; ModeType = SPLITT::PostOrderMode]’
 1928 |     case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:335:48:   required from here
  335 |     .method( "TraverseTree", &QuadraticPolyBM::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2099:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2099 |       exception_handler_.Run([=]{
      |                              ^~~~
 2100 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2101 |       });
      |       ~                       
SPLITT.h:2099:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2109:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2109 |         exception_handler_.Run([=]{
      |                                ^~~~
 2110 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2111 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2112 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |           } else {
      |           ~~~~~~~~              
 2114 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2115 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2116 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2117 |             }
      |             ~                   
 2118 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2119 |           }
      |           ~                     
 2120 |         });
      |         ~                       
SPLITT.h:2109:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM]’:
SPLITT.h:1929:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM; ModeType = SPLITT::PostOrderMode]’
 1929 |     case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:335:48:   required from here
  335 |     .method( "TraverseTree", &QuadraticPolyBM::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2268:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2268 |     exception_handler_.Run([=]{
      |                            ^~~~
 2269 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2270 |     });
      |     ~                       
SPLITT.h:2268:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2279:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2279 |         exception_handler_.Run([=]{
      |                                ^~~~
 2280 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2281 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2282 |         });
      |         ~                       
SPLITT.h:2279:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM]’:
SPLITT.h:1930:63:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM; ModeType = SPLITT::PostOrderMode]’
 1930 |     case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:335:48:   required from here
  335 |     .method( "TraverseTree", &QuadraticPolyBM::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2137:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2137 |     exception_handler_.Run([=]{
      |                            ^~~~
 2138 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2139 |     });
      |     ~                       
SPLITT.h:2137:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2151:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2151 |         exception_handler_.Run([=]{
      |                                ^~~~
 2152 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2153 |         });
      |         ~                       
SPLITT.h:2151:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2165:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2165 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2166 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2167 |           });
      |           ~                       
SPLITT.h:2165:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM]’:
SPLITT.h:1931:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM; ModeType = SPLITT::PostOrderMode]’
 1931 |     case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:335:48:   required from here
  335 |     .method( "TraverseTree", &QuadraticPolyBM::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2190:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2190 |       exception_handler_.Run([=]{
      |                              ^~~~
 2191 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2192 |       });
      |       ~                       
SPLITT.h:2190:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2200:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2200 |         exception_handler_.Run([=]{
      |                                ^~~~
 2201 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2202 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2203 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2204 |           } else {
      |           ~~~~~~~~              
 2205 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2206 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2207 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2208 |             }
      |             ~                   
 2209 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2210 |           }
      |           ~                     
 2211 |         });
      |         ~                       
SPLITT.h:2200:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2181:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
 2181 |   uint tid;
      |        ^~~
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::BM]’:
SPLITT.h:1932:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM; ModeType = SPLITT::PostOrderMode]’
 1932 |     case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:335:48:   required from here
  335 |     .method( "TraverseTree", &QuadraticPolyBM::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2226:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2226 |   exception_handler_.Run([=]{
      |                          ^~~~
 2227 |     while(true) {
      |     ~~~~~~~~~~~~~         
 2228 |       uint i = ParentType::visit_queue_.NextInQueue();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2229 |       if(i == G_NA_UINT) {
      |       ~~~~~~~~~~~~~~~~~~~~
 2230 |         continue;
      |         ~~~~~~~~~         
 2231 |       } else if(i == ParentType::ref_tree_.num_nodes()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2232 |         break;
      |         ~~~~~~            
 2233 |       } else if(i < ParentType::ref_tree_.num_tips()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2234 |         // i is a tip (only Visit)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2235 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2236 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2237 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2238 |       } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2239 |         // i is internal
      |         ~~~~~~~~~~~~~~~~  
 2240 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2241 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2242 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2243 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2244 |         }
      |         ~                 
 2245 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2246 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2247 |       } else {
      |       ~~~~~~~~            
 2248 |         // i is the root
      |         ~~~~~~~~~~~~~~~~  
 2249 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2250 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2251 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2252 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2253 |         }
      |         ~                 
 2254 |         // don't visit the root
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2255 |       }
      |       ~                   
 2256 |     }
      |     ~                     
 2257 |   });
      |   ~                       
SPLITT.h:2226:26: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM]’:
SPLITT.h:1934:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM; ModeType = SPLITT::PostOrderMode]’
 1934 |     case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:335:48:   required from here
  335 |     .method( "TraverseTree", &QuadraticPolyBM::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2387:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2387 |       exception_handler_.Run([=]{
      |                              ^~~~
 2388 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2389 |       });
      |       ~                       
SPLITT.h:2387:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2401:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2401 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2402 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2403 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2404 |           });
      |           ~                       
SPLITT.h:2401:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2411:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2411 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2412 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2413 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2414 |           });
      |           ~                       
SPLITT.h:2411:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM]’:
SPLITT.h:1935:57:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM; ModeType = SPLITT::PostOrderMode]’
 1935 |     case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:335:48:   required from here
  335 |     .method( "TraverseTree", &QuadraticPolyBM::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2323:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2323 |       exception_handler_.Run([=]{
      |                              ^~~~
 2324 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2325 |       });
      |       ~                       
SPLITT.h:2323:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2337:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2337 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2338 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2339 |           });
      |           ~                       
SPLITT.h:2337:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2346:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2346 |         exception_handler_.Run([=]{
      |                                ^~~~
 2347 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2348 |         });
      |         ~                       
SPLITT.h:2346:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2360:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2360 |             exception_handler_.Run([=]{
      |                                    ^~~~
 2361 |               ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2362 |             });
      |             ~                       
SPLITT.h:2360:36: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM]’:
SPLITT.h:1936:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM; ModeType = SPLITT::PostOrderMode]’
 1936 |     case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:335:48:   required from here
  335 |     .method( "TraverseTree", &QuadraticPolyBM::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2435:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2435 |       exception_handler_.Run([=]{
      |                              ^~~~
 2436 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2437 |       });
      |       ~                       
SPLITT.h:2435:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2448:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2448 |         exception_handler_.Run([=]{
      |                                ^~~~
 2449 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2450 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2451 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2452 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2453 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2454 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2455 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2456 |             }
      |             ~                   
 2457 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2458 |           }
      |           ~                     
 2459 |         });
      |         ~                       
SPLITT.h:2448:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2466:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2466 |         exception_handler_.Run([=]{
      |                                ^~~~
 2467 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2468 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2469 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2470 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2471 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2472 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2473 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2474 |             }
      |             ~                   
 2475 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2476 |           }
      |           ~                     
 2477 |         });
      |         ~                       
SPLITT.h:2466:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2485:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2485 |       exception_handler_.Run([=]{
      |                              ^~~~
 2486 |         ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2487 |       });
      |       ~                       
SPLITT.h:2485:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::BM1D]’:
SPLITT.h:1926:50:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM1D; ModeType = SPLITT::PostOrderMode]’
 1926 |     case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:407:52:   required from here
  407 |       .method( "TraverseTree", &QuadraticPolyBM1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2056:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2056 |       exception_handler_.Run([=]{
      |                              ^~~~
 2057 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2058 |       });
      |       ~                       
SPLITT.h:2056:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2063:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2063 |       exception_handler_.Run([=]{
      |                              ^~~~
 2064 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2065 |         ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2066 |       });
      |       ~                       
SPLITT.h:2063:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM1D]’:
SPLITT.h:1927:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM1D; ModeType = SPLITT::PostOrderMode]’
 1927 |     case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:407:52:   required from here
  407 |       .method( "TraverseTree", &QuadraticPolyBM1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2074:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2074 |       exception_handler_.Run([=]{
      |                              ^~~~
 2075 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2076 |       });
      |       ~                       
SPLITT.h:2074:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2087:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2087 |         exception_handler_.Run([=]{
      |                                ^~~~
 2088 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2089 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2090 |         });
      |         ~                       
SPLITT.h:2087:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM1D]’:
SPLITT.h:1928:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM1D; ModeType = SPLITT::PostOrderMode]’
 1928 |     case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:407:52:   required from here
  407 |       .method( "TraverseTree", &QuadraticPolyBM1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2099:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2099 |       exception_handler_.Run([=]{
      |                              ^~~~
 2100 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2101 |       });
      |       ~                       
SPLITT.h:2099:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2109:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2109 |         exception_handler_.Run([=]{
      |                                ^~~~
 2110 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2111 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2112 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |           } else {
      |           ~~~~~~~~              
 2114 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2115 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2116 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2117 |             }
      |             ~                   
 2118 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2119 |           }
      |           ~                     
 2120 |         });
      |         ~                       
SPLITT.h:2109:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM1D]’:
SPLITT.h:1929:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM1D; ModeType = SPLITT::PostOrderMode]’
 1929 |     case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:407:52:   required from here
  407 |       .method( "TraverseTree", &QuadraticPolyBM1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2268:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2268 |     exception_handler_.Run([=]{
      |                            ^~~~
 2269 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2270 |     });
      |     ~                       
SPLITT.h:2268:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2279:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2279 |         exception_handler_.Run([=]{
      |                                ^~~~
 2280 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2281 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2282 |         });
      |         ~                       
SPLITT.h:2279:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM1D]’:
SPLITT.h:1930:63:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM1D; ModeType = SPLITT::PostOrderMode]’
 1930 |     case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:407:52:   required from here
  407 |       .method( "TraverseTree", &QuadraticPolyBM1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2137:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2137 |     exception_handler_.Run([=]{
      |                            ^~~~
 2138 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2139 |     });
      |     ~                       
SPLITT.h:2137:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2151:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2151 |         exception_handler_.Run([=]{
      |                                ^~~~
 2152 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2153 |         });
      |         ~                       
SPLITT.h:2151:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2165:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2165 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2166 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2167 |           });
      |           ~                       
SPLITT.h:2165:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM1D]’:
SPLITT.h:1931:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM1D; ModeType = SPLITT::PostOrderMode]’
 1931 |     case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:407:52:   required from here
  407 |       .method( "TraverseTree", &QuadraticPolyBM1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2190:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2190 |       exception_handler_.Run([=]{
      |                              ^~~~
 2191 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2192 |       });
      |       ~                       
SPLITT.h:2190:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2200:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2200 |         exception_handler_.Run([=]{
      |                                ^~~~
 2201 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2202 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2203 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2204 |           } else {
      |           ~~~~~~~~              
 2205 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2206 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2207 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2208 |             }
      |             ~                   
 2209 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2210 |           }
      |           ~                     
 2211 |         });
      |         ~                       
SPLITT.h:2200:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2181:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
 2181 |   uint tid;
      |        ^~~
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::BM1D]’:
SPLITT.h:1932:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM1D; ModeType = SPLITT::PostOrderMode]’
 1932 |     case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:407:52:   required from here
  407 |       .method( "TraverseTree", &QuadraticPolyBM1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2226:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2226 |   exception_handler_.Run([=]{
      |                          ^~~~
 2227 |     while(true) {
      |     ~~~~~~~~~~~~~         
 2228 |       uint i = ParentType::visit_queue_.NextInQueue();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2229 |       if(i == G_NA_UINT) {
      |       ~~~~~~~~~~~~~~~~~~~~
 2230 |         continue;
      |         ~~~~~~~~~         
 2231 |       } else if(i == ParentType::ref_tree_.num_nodes()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2232 |         break;
      |         ~~~~~~            
 2233 |       } else if(i < ParentType::ref_tree_.num_tips()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2234 |         // i is a tip (only Visit)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2235 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2236 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2237 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2238 |       } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2239 |         // i is internal
      |         ~~~~~~~~~~~~~~~~  
 2240 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2241 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2242 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2243 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2244 |         }
      |         ~                 
 2245 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2246 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2247 |       } else {
      |       ~~~~~~~~            
 2248 |         // i is the root
      |         ~~~~~~~~~~~~~~~~  
 2249 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2250 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2251 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2252 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2253 |         }
      |         ~                 
 2254 |         // don't visit the root
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2255 |       }
      |       ~                   
 2256 |     }
      |     ~                     
 2257 |   });
      |   ~                       
SPLITT.h:2226:26: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM1D]’:
SPLITT.h:1934:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM1D; ModeType = SPLITT::PostOrderMode]’
 1934 |     case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:407:52:   required from here
  407 |       .method( "TraverseTree", &QuadraticPolyBM1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2387:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2387 |       exception_handler_.Run([=]{
      |                              ^~~~
 2388 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2389 |       });
      |       ~                       
SPLITT.h:2387:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2401:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2401 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2402 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2403 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2404 |           });
      |           ~                       
SPLITT.h:2401:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2411:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2411 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2412 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2413 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2414 |           });
      |           ~                       
SPLITT.h:2411:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM1D]’:
SPLITT.h:1935:57:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM1D; ModeType = SPLITT::PostOrderMode]’
 1935 |     case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:407:52:   required from here
  407 |       .method( "TraverseTree", &QuadraticPolyBM1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2323:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2323 |       exception_handler_.Run([=]{
      |                              ^~~~
 2324 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2325 |       });
      |       ~                       
SPLITT.h:2323:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2337:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2337 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2338 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2339 |           });
      |           ~                       
SPLITT.h:2337:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2346:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2346 |         exception_handler_.Run([=]{
      |                                ^~~~
 2347 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2348 |         });
      |         ~                       
SPLITT.h:2346:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2360:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2360 |             exception_handler_.Run([=]{
      |                                    ^~~~
 2361 |               ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2362 |             });
      |             ~                       
SPLITT.h:2360:36: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM1D]’:
SPLITT.h:1936:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::BM1D; ModeType = SPLITT::PostOrderMode]’
 1936 |     case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:407:52:   required from here
  407 |       .method( "TraverseTree", &QuadraticPolyBM1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2435:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2435 |       exception_handler_.Run([=]{
      |                              ^~~~
 2436 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2437 |       });
      |       ~                       
SPLITT.h:2435:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2448:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2448 |         exception_handler_.Run([=]{
      |                                ^~~~
 2449 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2450 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2451 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2452 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2453 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2454 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2455 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2456 |             }
      |             ~                   
 2457 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2458 |           }
      |           ~                     
 2459 |         });
      |         ~                       
SPLITT.h:2448:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2466:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2466 |         exception_handler_.Run([=]{
      |                                ^~~~
 2467 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2468 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2469 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2470 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2471 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2472 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2473 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2474 |             }
      |             ~                   
 2475 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2476 |           }
      |           ~                     
 2477 |         });
      |         ~                       
SPLITT.h:2466:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2485:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2485 |       exception_handler_.Run([=]{
      |                              ^~~~
 2486 |         ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2487 |       });
      |       ~                       
SPLITT.h:2485:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::OU]’:
SPLITT.h:1926:50:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU; ModeType = SPLITT::PostOrderMode]’
 1926 |     case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:477:48:   required from here
  477 |     .method( "TraverseTree", &QuadraticPolyOU::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2056:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2056 |       exception_handler_.Run([=]{
      |                              ^~~~
 2057 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2058 |       });
      |       ~                       
SPLITT.h:2056:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2063:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2063 |       exception_handler_.Run([=]{
      |                              ^~~~
 2064 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2065 |         ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2066 |       });
      |       ~                       
SPLITT.h:2063:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU]’:
SPLITT.h:1927:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU; ModeType = SPLITT::PostOrderMode]’
 1927 |     case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:477:48:   required from here
  477 |     .method( "TraverseTree", &QuadraticPolyOU::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2074:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2074 |       exception_handler_.Run([=]{
      |                              ^~~~
 2075 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2076 |       });
      |       ~                       
SPLITT.h:2074:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2087:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2087 |         exception_handler_.Run([=]{
      |                                ^~~~
 2088 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2089 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2090 |         });
      |         ~                       
SPLITT.h:2087:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU]’:
SPLITT.h:1928:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU; ModeType = SPLITT::PostOrderMode]’
 1928 |     case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:477:48:   required from here
  477 |     .method( "TraverseTree", &QuadraticPolyOU::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2099:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2099 |       exception_handler_.Run([=]{
      |                              ^~~~
 2100 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2101 |       });
      |       ~                       
SPLITT.h:2099:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2109:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2109 |         exception_handler_.Run([=]{
      |                                ^~~~
 2110 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2111 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2112 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |           } else {
      |           ~~~~~~~~              
 2114 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2115 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2116 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2117 |             }
      |             ~                   
 2118 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2119 |           }
      |           ~                     
 2120 |         });
      |         ~                       
SPLITT.h:2109:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU]’:
SPLITT.h:1929:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU; ModeType = SPLITT::PostOrderMode]’
 1929 |     case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:477:48:   required from here
  477 |     .method( "TraverseTree", &QuadraticPolyOU::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2268:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2268 |     exception_handler_.Run([=]{
      |                            ^~~~
 2269 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2270 |     });
      |     ~                       
SPLITT.h:2268:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2279:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2279 |         exception_handler_.Run([=]{
      |                                ^~~~
 2280 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2281 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2282 |         });
      |         ~                       
SPLITT.h:2279:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU]’:
SPLITT.h:1930:63:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU; ModeType = SPLITT::PostOrderMode]’
 1930 |     case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:477:48:   required from here
  477 |     .method( "TraverseTree", &QuadraticPolyOU::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2137:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2137 |     exception_handler_.Run([=]{
      |                            ^~~~
 2138 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2139 |     });
      |     ~                       
SPLITT.h:2137:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2151:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2151 |         exception_handler_.Run([=]{
      |                                ^~~~
 2152 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2153 |         });
      |         ~                       
SPLITT.h:2151:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2165:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2165 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2166 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2167 |           });
      |           ~                       
SPLITT.h:2165:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU]’:
SPLITT.h:1931:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU; ModeType = SPLITT::PostOrderMode]’
 1931 |     case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:477:48:   required from here
  477 |     .method( "TraverseTree", &QuadraticPolyOU::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2190:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2190 |       exception_handler_.Run([=]{
      |                              ^~~~
 2191 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2192 |       });
      |       ~                       
SPLITT.h:2190:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2200:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2200 |         exception_handler_.Run([=]{
      |                                ^~~~
 2201 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2202 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2203 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2204 |           } else {
      |           ~~~~~~~~              
 2205 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2206 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2207 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2208 |             }
      |             ~                   
 2209 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2210 |           }
      |           ~                     
 2211 |         });
      |         ~                       
SPLITT.h:2200:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2181:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
 2181 |   uint tid;
      |        ^~~
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::OU]’:
SPLITT.h:1932:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU; ModeType = SPLITT::PostOrderMode]’
 1932 |     case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:477:48:   required from here
  477 |     .method( "TraverseTree", &QuadraticPolyOU::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2226:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2226 |   exception_handler_.Run([=]{
      |                          ^~~~
 2227 |     while(true) {
      |     ~~~~~~~~~~~~~         
 2228 |       uint i = ParentType::visit_queue_.NextInQueue();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2229 |       if(i == G_NA_UINT) {
      |       ~~~~~~~~~~~~~~~~~~~~
 2230 |         continue;
      |         ~~~~~~~~~         
 2231 |       } else if(i == ParentType::ref_tree_.num_nodes()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2232 |         break;
      |         ~~~~~~            
 2233 |       } else if(i < ParentType::ref_tree_.num_tips()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2234 |         // i is a tip (only Visit)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2235 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2236 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2237 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2238 |       } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2239 |         // i is internal
      |         ~~~~~~~~~~~~~~~~  
 2240 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2241 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2242 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2243 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2244 |         }
      |         ~                 
 2245 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2246 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2247 |       } else {
      |       ~~~~~~~~            
 2248 |         // i is the root
      |         ~~~~~~~~~~~~~~~~  
 2249 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2250 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2251 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2252 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2253 |         }
      |         ~                 
 2254 |         // don't visit the root
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2255 |       }
      |       ~                   
 2256 |     }
      |     ~                     
 2257 |   });
      |   ~                       
SPLITT.h:2226:26: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU]’:
SPLITT.h:1934:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU; ModeType = SPLITT::PostOrderMode]’
 1934 |     case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:477:48:   required from here
  477 |     .method( "TraverseTree", &QuadraticPolyOU::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2387:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2387 |       exception_handler_.Run([=]{
      |                              ^~~~
 2388 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2389 |       });
      |       ~                       
SPLITT.h:2387:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2401:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2401 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2402 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2403 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2404 |           });
      |           ~                       
SPLITT.h:2401:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2411:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2411 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2412 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2413 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2414 |           });
      |           ~                       
SPLITT.h:2411:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU]’:
SPLITT.h:1935:57:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU; ModeType = SPLITT::PostOrderMode]’
 1935 |     case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:477:48:   required from here
  477 |     .method( "TraverseTree", &QuadraticPolyOU::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2323:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2323 |       exception_handler_.Run([=]{
      |                              ^~~~
 2324 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2325 |       });
      |       ~                       
SPLITT.h:2323:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2337:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2337 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2338 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2339 |           });
      |           ~                       
SPLITT.h:2337:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2346:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2346 |         exception_handler_.Run([=]{
      |                                ^~~~
 2347 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2348 |         });
      |         ~                       
SPLITT.h:2346:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2360:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2360 |             exception_handler_.Run([=]{
      |                                    ^~~~
 2361 |               ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2362 |             });
      |             ~                       
SPLITT.h:2360:36: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU]’:
SPLITT.h:1936:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU; ModeType = SPLITT::PostOrderMode]’
 1936 |     case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:477:48:   required from here
  477 |     .method( "TraverseTree", &QuadraticPolyOU::TraverseTree )
      |                                                ^~~~~~~~~~~~
SPLITT.h:2435:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2435 |       exception_handler_.Run([=]{
      |                              ^~~~
 2436 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2437 |       });
      |       ~                       
SPLITT.h:2435:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2448:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2448 |         exception_handler_.Run([=]{
      |                                ^~~~
 2449 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2450 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2451 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2452 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2453 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2454 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2455 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2456 |             }
      |             ~                   
 2457 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2458 |           }
      |           ~                     
 2459 |         });
      |         ~                       
SPLITT.h:2448:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2466:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2466 |         exception_handler_.Run([=]{
      |                                ^~~~
 2467 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2468 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2469 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2470 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2471 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2472 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2473 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2474 |             }
      |             ~                   
 2475 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2476 |           }
      |           ~                     
 2477 |         });
      |         ~                       
SPLITT.h:2466:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2485:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2485 |       exception_handler_.Run([=]{
      |                              ^~~~
 2486 |         ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2487 |       });
      |       ~                       
SPLITT.h:2485:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::OU1D]’:
SPLITT.h:1926:50:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU1D; ModeType = SPLITT::PostOrderMode]’
 1926 |     case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:546:52:   required from here
  546 |       .method( "TraverseTree", &QuadraticPolyOU1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2056:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2056 |       exception_handler_.Run([=]{
      |                              ^~~~
 2057 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2058 |       });
      |       ~                       
SPLITT.h:2056:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2063:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2063 |       exception_handler_.Run([=]{
      |                              ^~~~
 2064 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2065 |         ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2066 |       });
      |       ~                       
SPLITT.h:2063:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU1D]’:
SPLITT.h:1927:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU1D; ModeType = SPLITT::PostOrderMode]’
 1927 |     case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:546:52:   required from here
  546 |       .method( "TraverseTree", &QuadraticPolyOU1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2074:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2074 |       exception_handler_.Run([=]{
      |                              ^~~~
 2075 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2076 |       });
      |       ~                       
SPLITT.h:2074:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2087:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2087 |         exception_handler_.Run([=]{
      |                                ^~~~
 2088 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2089 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2090 |         });
      |         ~                       
SPLITT.h:2087:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU1D]’:
SPLITT.h:1928:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU1D; ModeType = SPLITT::PostOrderMode]’
 1928 |     case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:546:52:   required from here
  546 |       .method( "TraverseTree", &QuadraticPolyOU1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2099:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2099 |       exception_handler_.Run([=]{
      |                              ^~~~
 2100 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2101 |       });
      |       ~                       
SPLITT.h:2099:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2109:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2109 |         exception_handler_.Run([=]{
      |                                ^~~~
 2110 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2111 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2112 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |           } else {
      |           ~~~~~~~~              
 2114 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2115 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2116 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2117 |             }
      |             ~                   
 2118 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2119 |           }
      |           ~                     
 2120 |         });
      |         ~                       
SPLITT.h:2109:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU1D]’:
SPLITT.h:1929:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU1D; ModeType = SPLITT::PostOrderMode]’
 1929 |     case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:546:52:   required from here
  546 |       .method( "TraverseTree", &QuadraticPolyOU1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2268:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2268 |     exception_handler_.Run([=]{
      |                            ^~~~
 2269 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2270 |     });
      |     ~                       
SPLITT.h:2268:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2279:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2279 |         exception_handler_.Run([=]{
      |                                ^~~~
 2280 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2281 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2282 |         });
      |         ~                       
SPLITT.h:2279:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU1D]’:
SPLITT.h:1930:63:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU1D; ModeType = SPLITT::PostOrderMode]’
 1930 |     case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:546:52:   required from here
  546 |       .method( "TraverseTree", &QuadraticPolyOU1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2137:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2137 |     exception_handler_.Run([=]{
      |                            ^~~~
 2138 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2139 |     });
      |     ~                       
SPLITT.h:2137:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2151:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2151 |         exception_handler_.Run([=]{
      |                                ^~~~
 2152 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2153 |         });
      |         ~                       
SPLITT.h:2151:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2165:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2165 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2166 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2167 |           });
      |           ~                       
SPLITT.h:2165:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU1D]’:
SPLITT.h:1931:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU1D; ModeType = SPLITT::PostOrderMode]’
 1931 |     case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:546:52:   required from here
  546 |       .method( "TraverseTree", &QuadraticPolyOU1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2190:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2190 |       exception_handler_.Run([=]{
      |                              ^~~~
 2191 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2192 |       });
      |       ~                       
SPLITT.h:2190:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2200:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2200 |         exception_handler_.Run([=]{
      |                                ^~~~
 2201 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2202 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2203 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2204 |           } else {
      |           ~~~~~~~~              
 2205 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2206 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2207 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2208 |             }
      |             ~                   
 2209 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2210 |           }
      |           ~                     
 2211 |         });
      |         ~                       
SPLITT.h:2200:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2181:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
 2181 |   uint tid;
      |        ^~~
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::OU1D]’:
SPLITT.h:1932:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU1D; ModeType = SPLITT::PostOrderMode]’
 1932 |     case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:546:52:   required from here
  546 |       .method( "TraverseTree", &QuadraticPolyOU1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2226:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2226 |   exception_handler_.Run([=]{
      |                          ^~~~
 2227 |     while(true) {
      |     ~~~~~~~~~~~~~         
 2228 |       uint i = ParentType::visit_queue_.NextInQueue();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2229 |       if(i == G_NA_UINT) {
      |       ~~~~~~~~~~~~~~~~~~~~
 2230 |         continue;
      |         ~~~~~~~~~         
 2231 |       } else if(i == ParentType::ref_tree_.num_nodes()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2232 |         break;
      |         ~~~~~~            
 2233 |       } else if(i < ParentType::ref_tree_.num_tips()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2234 |         // i is a tip (only Visit)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2235 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2236 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2237 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2238 |       } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2239 |         // i is internal
      |         ~~~~~~~~~~~~~~~~  
 2240 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2241 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2242 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2243 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2244 |         }
      |         ~                 
 2245 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2246 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2247 |       } else {
      |       ~~~~~~~~            
 2248 |         // i is the root
      |         ~~~~~~~~~~~~~~~~  
 2249 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2250 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2251 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2252 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2253 |         }
      |         ~                 
 2254 |         // don't visit the root
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2255 |       }
      |       ~                   
 2256 |     }
      |     ~                     
 2257 |   });
      |   ~                       
SPLITT.h:2226:26: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU1D]’:
SPLITT.h:1934:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU1D; ModeType = SPLITT::PostOrderMode]’
 1934 |     case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:546:52:   required from here
  546 |       .method( "TraverseTree", &QuadraticPolyOU1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2387:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2387 |       exception_handler_.Run([=]{
      |                              ^~~~
 2388 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2389 |       });
      |       ~                       
SPLITT.h:2387:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2401:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2401 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2402 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2403 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2404 |           });
      |           ~                       
SPLITT.h:2401:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2411:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2411 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2412 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2413 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2414 |           });
      |           ~                       
SPLITT.h:2411:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU1D]’:
SPLITT.h:1935:57:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU1D; ModeType = SPLITT::PostOrderMode]’
 1935 |     case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:546:52:   required from here
  546 |       .method( "TraverseTree", &QuadraticPolyOU1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2323:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2323 |       exception_handler_.Run([=]{
      |                              ^~~~
 2324 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2325 |       });
      |       ~                       
SPLITT.h:2323:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2337:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2337 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2338 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2339 |           });
      |           ~                       
SPLITT.h:2337:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2346:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2346 |         exception_handler_.Run([=]{
      |                                ^~~~
 2347 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2348 |         });
      |         ~                       
SPLITT.h:2346:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2360:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2360 |             exception_handler_.Run([=]{
      |                                    ^~~~
 2361 |               ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2362 |             });
      |             ~                       
SPLITT.h:2360:36: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU1D]’:
SPLITT.h:1936:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::OU1D; ModeType = SPLITT::PostOrderMode]’
 1936 |     case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:546:52:   required from here
  546 |       .method( "TraverseTree", &QuadraticPolyOU1D::TraverseTree )
      |                                                    ^~~~~~~~~~~~
SPLITT.h:2435:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2435 |       exception_handler_.Run([=]{
      |                              ^~~~
 2436 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2437 |       });
      |       ~                       
SPLITT.h:2435:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2448:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2448 |         exception_handler_.Run([=]{
      |                                ^~~~
 2449 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2450 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2451 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2452 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2453 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2454 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2455 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2456 |             }
      |             ~                   
 2457 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2458 |           }
      |           ~                     
 2459 |         });
      |         ~                       
SPLITT.h:2448:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2466:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2466 |         exception_handler_.Run([=]{
      |                                ^~~~
 2467 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2468 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2469 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2470 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2471 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2472 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2473 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2474 |             }
      |             ~                   
 2475 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2476 |           }
      |           ~                     
 2477 |         });
      |         ~                       
SPLITT.h:2466:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2485:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2485 |       exception_handler_.Run([=]{
      |                              ^~~~
 2486 |         ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2487 |       });
      |       ~                       
SPLITT.h:2485:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::JOU]’:
SPLITT.h:1926:50:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::JOU; ModeType = SPLITT::PostOrderMode]’
 1926 |     case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:620:49:   required from here
  620 |     .method( "TraverseTree", &QuadraticPolyJOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2056:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2056 |       exception_handler_.Run([=]{
      |                              ^~~~
 2057 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2058 |       });
      |       ~                       
SPLITT.h:2056:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2063:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2063 |       exception_handler_.Run([=]{
      |                              ^~~~
 2064 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2065 |         ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2066 |       });
      |       ~                       
SPLITT.h:2063:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::JOU]’:
SPLITT.h:1927:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::JOU; ModeType = SPLITT::PostOrderMode]’
 1927 |     case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:620:49:   required from here
  620 |     .method( "TraverseTree", &QuadraticPolyJOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2074:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2074 |       exception_handler_.Run([=]{
      |                              ^~~~
 2075 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2076 |       });
      |       ~                       
SPLITT.h:2074:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2087:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2087 |         exception_handler_.Run([=]{
      |                                ^~~~
 2088 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2089 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2090 |         });
      |         ~                       
SPLITT.h:2087:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::JOU]’:
SPLITT.h:1928:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::JOU; ModeType = SPLITT::PostOrderMode]’
 1928 |     case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:620:49:   required from here
  620 |     .method( "TraverseTree", &QuadraticPolyJOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2099:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2099 |       exception_handler_.Run([=]{
      |                              ^~~~
 2100 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2101 |       });
      |       ~                       
SPLITT.h:2099:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2109:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2109 |         exception_handler_.Run([=]{
      |                                ^~~~
 2110 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2111 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2112 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |           } else {
      |           ~~~~~~~~              
 2114 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2115 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2116 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2117 |             }
      |             ~                   
 2118 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2119 |           }
      |           ~                     
 2120 |         });
      |         ~                       
SPLITT.h:2109:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::JOU]’:
SPLITT.h:1929:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::JOU; ModeType = SPLITT::PostOrderMode]’
 1929 |     case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:620:49:   required from here
  620 |     .method( "TraverseTree", &QuadraticPolyJOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2268:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2268 |     exception_handler_.Run([=]{
      |                            ^~~~
 2269 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2270 |     });
      |     ~                       
SPLITT.h:2268:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2279:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2279 |         exception_handler_.Run([=]{
      |                                ^~~~
 2280 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2281 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2282 |         });
      |         ~                       
SPLITT.h:2279:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::JOU]’:
SPLITT.h:1930:63:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::JOU; ModeType = SPLITT::PostOrderMode]’
 1930 |     case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:620:49:   required from here
  620 |     .method( "TraverseTree", &QuadraticPolyJOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2137:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2137 |     exception_handler_.Run([=]{
      |                            ^~~~
 2138 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2139 |     });
      |     ~                       
SPLITT.h:2137:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2151:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2151 |         exception_handler_.Run([=]{
      |                                ^~~~
 2152 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2153 |         });
      |         ~                       
SPLITT.h:2151:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2165:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2165 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2166 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2167 |           });
      |           ~                       
SPLITT.h:2165:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::JOU]’:
SPLITT.h:1931:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::JOU; ModeType = SPLITT::PostOrderMode]’
 1931 |     case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:620:49:   required from here
  620 |     .method( "TraverseTree", &QuadraticPolyJOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2190:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2190 |       exception_handler_.Run([=]{
      |                              ^~~~
 2191 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2192 |       });
      |       ~                       
SPLITT.h:2190:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2200:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2200 |         exception_handler_.Run([=]{
      |                                ^~~~
 2201 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2202 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2203 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2204 |           } else {
      |           ~~~~~~~~              
 2205 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2206 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2207 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2208 |             }
      |             ~                   
 2209 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2210 |           }
      |           ~                     
 2211 |         });
      |         ~                       
SPLITT.h:2200:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2181:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
 2181 |   uint tid;
      |        ^~~
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::JOU]’:
SPLITT.h:1932:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::JOU; ModeType = SPLITT::PostOrderMode]’
 1932 |     case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:620:49:   required from here
  620 |     .method( "TraverseTree", &QuadraticPolyJOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2226:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2226 |   exception_handler_.Run([=]{
      |                          ^~~~
 2227 |     while(true) {
      |     ~~~~~~~~~~~~~         
 2228 |       uint i = ParentType::visit_queue_.NextInQueue();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2229 |       if(i == G_NA_UINT) {
      |       ~~~~~~~~~~~~~~~~~~~~
 2230 |         continue;
      |         ~~~~~~~~~         
 2231 |       } else if(i == ParentType::ref_tree_.num_nodes()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2232 |         break;
      |         ~~~~~~            
 2233 |       } else if(i < ParentType::ref_tree_.num_tips()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2234 |         // i is a tip (only Visit)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2235 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2236 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2237 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2238 |       } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2239 |         // i is internal
      |         ~~~~~~~~~~~~~~~~  
 2240 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2241 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2242 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2243 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2244 |         }
      |         ~                 
 2245 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2246 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2247 |       } else {
      |       ~~~~~~~~            
 2248 |         // i is the root
      |         ~~~~~~~~~~~~~~~~  
 2249 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2250 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2251 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2252 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2253 |         }
      |         ~                 
 2254 |         // don't visit the root
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2255 |       }
      |       ~                   
 2256 |     }
      |     ~                     
 2257 |   });
      |   ~                       
SPLITT.h:2226:26: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::JOU]’:
SPLITT.h:1934:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::JOU; ModeType = SPLITT::PostOrderMode]’
 1934 |     case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:620:49:   required from here
  620 |     .method( "TraverseTree", &QuadraticPolyJOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2387:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2387 |       exception_handler_.Run([=]{
      |                              ^~~~
 2388 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2389 |       });
      |       ~                       
SPLITT.h:2387:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2401:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2401 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2402 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2403 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2404 |           });
      |           ~                       
SPLITT.h:2401:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2411:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2411 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2412 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2413 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2414 |           });
      |           ~                       
SPLITT.h:2411:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::JOU]’:
SPLITT.h:1935:57:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::JOU; ModeType = SPLITT::PostOrderMode]’
 1935 |     case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:620:49:   required from here
  620 |     .method( "TraverseTree", &QuadraticPolyJOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2323:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2323 |       exception_handler_.Run([=]{
      |                              ^~~~
 2324 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2325 |       });
      |       ~                       
SPLITT.h:2323:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2337:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2337 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2338 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2339 |           });
      |           ~                       
SPLITT.h:2337:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2346:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2346 |         exception_handler_.Run([=]{
      |                                ^~~~
 2347 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2348 |         });
      |         ~                       
SPLITT.h:2346:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2360:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2360 |             exception_handler_.Run([=]{
      |                                    ^~~~
 2361 |               ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2362 |             });
      |             ~                       
SPLITT.h:2360:36: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::JOU]’:
SPLITT.h:1936:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::JOU; ModeType = SPLITT::PostOrderMode]’
 1936 |     case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:620:49:   required from here
  620 |     .method( "TraverseTree", &QuadraticPolyJOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2435:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2435 |       exception_handler_.Run([=]{
      |                              ^~~~
 2436 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2437 |       });
      |       ~                       
SPLITT.h:2435:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2448:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2448 |         exception_handler_.Run([=]{
      |                                ^~~~
 2449 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2450 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2451 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2452 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2453 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2454 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2455 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2456 |             }
      |             ~                   
 2457 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2458 |           }
      |           ~                     
 2459 |         });
      |         ~                       
SPLITT.h:2448:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2466:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2466 |         exception_handler_.Run([=]{
      |                                ^~~~
 2467 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2468 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2469 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2470 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2471 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2472 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2473 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2474 |             }
      |             ~                   
 2475 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2476 |           }
      |           ~                     
 2477 |         });
      |         ~                       
SPLITT.h:2466:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2485:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2485 |       exception_handler_.Run([=]{
      |                              ^~~~
 2486 |         ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2487 |       });
      |       ~                       
SPLITT.h:2485:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::DOU]’:
SPLITT.h:1926:50:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::DOU; ModeType = SPLITT::PostOrderMode]’
 1926 |     case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:689:49:   required from here
  689 |     .method( "TraverseTree", &QuadraticPolyDOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2056:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2056 |       exception_handler_.Run([=]{
      |                              ^~~~
 2057 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2058 |       });
      |       ~                       
SPLITT.h:2056:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2063:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2063 |       exception_handler_.Run([=]{
      |                              ^~~~
 2064 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2065 |         ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2066 |       });
      |       ~                       
SPLITT.h:2063:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::DOU]’:
SPLITT.h:1927:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::DOU; ModeType = SPLITT::PostOrderMode]’
 1927 |     case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:689:49:   required from here
  689 |     .method( "TraverseTree", &QuadraticPolyDOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2074:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2074 |       exception_handler_.Run([=]{
      |                              ^~~~
 2075 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2076 |       });
      |       ~                       
SPLITT.h:2074:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2087:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2087 |         exception_handler_.Run([=]{
      |                                ^~~~
 2088 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2089 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2090 |         });
      |         ~                       
SPLITT.h:2087:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::DOU]’:
SPLITT.h:1928:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::DOU; ModeType = SPLITT::PostOrderMode]’
 1928 |     case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:689:49:   required from here
  689 |     .method( "TraverseTree", &QuadraticPolyDOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2099:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2099 |       exception_handler_.Run([=]{
      |                              ^~~~
 2100 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2101 |       });
      |       ~                       
SPLITT.h:2099:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2109:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2109 |         exception_handler_.Run([=]{
      |                                ^~~~
 2110 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2111 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2112 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |           } else {
      |           ~~~~~~~~              
 2114 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2115 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2116 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2117 |             }
      |             ~                   
 2118 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2119 |           }
      |           ~                     
 2120 |         });
      |         ~                       
SPLITT.h:2109:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::DOU]’:
SPLITT.h:1929:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::DOU; ModeType = SPLITT::PostOrderMode]’
 1929 |     case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:689:49:   required from here
  689 |     .method( "TraverseTree", &QuadraticPolyDOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2268:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2268 |     exception_handler_.Run([=]{
      |                            ^~~~
 2269 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2270 |     });
      |     ~                       
SPLITT.h:2268:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2279:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2279 |         exception_handler_.Run([=]{
      |                                ^~~~
 2280 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2281 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2282 |         });
      |         ~                       
SPLITT.h:2279:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::DOU]’:
SPLITT.h:1930:63:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::DOU; ModeType = SPLITT::PostOrderMode]’
 1930 |     case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:689:49:   required from here
  689 |     .method( "TraverseTree", &QuadraticPolyDOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2137:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2137 |     exception_handler_.Run([=]{
      |                            ^~~~
 2138 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2139 |     });
      |     ~                       
SPLITT.h:2137:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2151:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2151 |         exception_handler_.Run([=]{
      |                                ^~~~
 2152 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2153 |         });
      |         ~                       
SPLITT.h:2151:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2165:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2165 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2166 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2167 |           });
      |           ~                       
SPLITT.h:2165:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::DOU]’:
SPLITT.h:1931:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::DOU; ModeType = SPLITT::PostOrderMode]’
 1931 |     case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:689:49:   required from here
  689 |     .method( "TraverseTree", &QuadraticPolyDOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2190:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2190 |       exception_handler_.Run([=]{
      |                              ^~~~
 2191 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2192 |       });
      |       ~                       
SPLITT.h:2190:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2200:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2200 |         exception_handler_.Run([=]{
      |                                ^~~~
 2201 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2202 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2203 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2204 |           } else {
      |           ~~~~~~~~              
 2205 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2206 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2207 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2208 |             }
      |             ~                   
 2209 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2210 |           }
      |           ~                     
 2211 |         });
      |         ~                       
SPLITT.h:2200:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2181:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
 2181 |   uint tid;
      |        ^~~
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::DOU]’:
SPLITT.h:1932:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::DOU; ModeType = SPLITT::PostOrderMode]’
 1932 |     case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:689:49:   required from here
  689 |     .method( "TraverseTree", &QuadraticPolyDOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2226:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2226 |   exception_handler_.Run([=]{
      |                          ^~~~
 2227 |     while(true) {
      |     ~~~~~~~~~~~~~         
 2228 |       uint i = ParentType::visit_queue_.NextInQueue();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2229 |       if(i == G_NA_UINT) {
      |       ~~~~~~~~~~~~~~~~~~~~
 2230 |         continue;
      |         ~~~~~~~~~         
 2231 |       } else if(i == ParentType::ref_tree_.num_nodes()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2232 |         break;
      |         ~~~~~~            
 2233 |       } else if(i < ParentType::ref_tree_.num_tips()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2234 |         // i is a tip (only Visit)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2235 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2236 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2237 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2238 |       } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2239 |         // i is internal
      |         ~~~~~~~~~~~~~~~~  
 2240 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2241 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2242 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2243 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2244 |         }
      |         ~                 
 2245 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2246 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2247 |       } else {
      |       ~~~~~~~~            
 2248 |         // i is the root
      |         ~~~~~~~~~~~~~~~~  
 2249 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2250 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2251 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2252 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2253 |         }
      |         ~                 
 2254 |         // don't visit the root
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2255 |       }
      |       ~                   
 2256 |     }
      |     ~                     
 2257 |   });
      |   ~                       
SPLITT.h:2226:26: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::DOU]’:
SPLITT.h:1934:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::DOU; ModeType = SPLITT::PostOrderMode]’
 1934 |     case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:689:49:   required from here
  689 |     .method( "TraverseTree", &QuadraticPolyDOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2387:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2387 |       exception_handler_.Run([=]{
      |                              ^~~~
 2388 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2389 |       });
      |       ~                       
SPLITT.h:2387:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2401:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2401 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2402 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2403 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2404 |           });
      |           ~                       
SPLITT.h:2401:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2411:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2411 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2412 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2413 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2414 |           });
      |           ~                       
SPLITT.h:2411:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::DOU]’:
SPLITT.h:1935:57:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::DOU; ModeType = SPLITT::PostOrderMode]’
 1935 |     case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:689:49:   required from here
  689 |     .method( "TraverseTree", &QuadraticPolyDOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2323:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2323 |       exception_handler_.Run([=]{
      |                              ^~~~
 2324 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2325 |       });
      |       ~                       
SPLITT.h:2323:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2337:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2337 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2338 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2339 |           });
      |           ~                       
SPLITT.h:2337:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2346:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2346 |         exception_handler_.Run([=]{
      |                                ^~~~
 2347 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2348 |         });
      |         ~                       
SPLITT.h:2346:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2360:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2360 |             exception_handler_.Run([=]{
      |                                    ^~~~
 2361 |               ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2362 |             });
      |             ~                       
SPLITT.h:2360:36: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::DOU]’:
SPLITT.h:1936:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::DOU; ModeType = SPLITT::PostOrderMode]’
 1936 |     case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:689:49:   required from here
  689 |     .method( "TraverseTree", &QuadraticPolyDOU::TraverseTree )
      |                                                 ^~~~~~~~~~~~
SPLITT.h:2435:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2435 |       exception_handler_.Run([=]{
      |                              ^~~~
 2436 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2437 |       });
      |       ~                       
SPLITT.h:2435:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2448:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2448 |         exception_handler_.Run([=]{
      |                                ^~~~
 2449 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2450 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2451 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2452 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2453 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2454 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2455 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2456 |             }
      |             ~                   
 2457 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2458 |           }
      |           ~                     
 2459 |         });
      |         ~                       
SPLITT.h:2448:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2466:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2466 |         exception_handler_.Run([=]{
      |                                ^~~~
 2467 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2468 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2469 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2470 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2471 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2472 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2473 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2474 |             }
      |             ~                   
 2475 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2476 |           }
      |           ~                     
 2477 |         });
      |         ~                       
SPLITT.h:2466:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2485:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2485 |       exception_handler_.Run([=]{
      |                              ^~~~
 2486 |         ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2487 |       });
      |       ~                       
SPLITT.h:2485:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’:
SPLITT.h:1926:50:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; ModeType = SPLITT::PostOrderMode]’
 1926 |     case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:762:61:   required from here
  762 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian::TraverseTree )
      |                                                             ^~~~~~~~~~~~
SPLITT.h:2056:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2056 |       exception_handler_.Run([=]{
      |                              ^~~~
 2057 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2058 |       });
      |       ~                       
SPLITT.h:2056:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2063:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2063 |       exception_handler_.Run([=]{
      |                              ^~~~
 2064 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2065 |         ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2066 |       });
      |       ~                       
SPLITT.h:2063:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’:
SPLITT.h:1927:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; ModeType = SPLITT::PostOrderMode]’
 1927 |     case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:762:61:   required from here
  762 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian::TraverseTree )
      |                                                             ^~~~~~~~~~~~
SPLITT.h:2074:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2074 |       exception_handler_.Run([=]{
      |                              ^~~~
 2075 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2076 |       });
      |       ~                       
SPLITT.h:2074:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2087:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2087 |         exception_handler_.Run([=]{
      |                                ^~~~
 2088 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2089 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2090 |         });
      |         ~                       
SPLITT.h:2087:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’:
SPLITT.h:1928:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; ModeType = SPLITT::PostOrderMode]’
 1928 |     case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:762:61:   required from here
  762 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian::TraverseTree )
      |                                                             ^~~~~~~~~~~~
SPLITT.h:2099:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2099 |       exception_handler_.Run([=]{
      |                              ^~~~
 2100 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2101 |       });
      |       ~                       
SPLITT.h:2099:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2109:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2109 |         exception_handler_.Run([=]{
      |                                ^~~~
 2110 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2111 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2112 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |           } else {
      |           ~~~~~~~~              
 2114 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2115 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2116 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2117 |             }
      |             ~                   
 2118 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2119 |           }
      |           ~                     
 2120 |         });
      |         ~                       
SPLITT.h:2109:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’:
SPLITT.h:1929:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; ModeType = SPLITT::PostOrderMode]’
 1929 |     case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:762:61:   required from here
  762 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian::TraverseTree )
      |                                                             ^~~~~~~~~~~~
SPLITT.h:2268:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2268 |     exception_handler_.Run([=]{
      |                            ^~~~
 2269 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2270 |     });
      |     ~                       
SPLITT.h:2268:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2279:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2279 |         exception_handler_.Run([=]{
      |                                ^~~~
 2280 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2281 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2282 |         });
      |         ~                       
SPLITT.h:2279:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’:
SPLITT.h:1930:63:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; ModeType = SPLITT::PostOrderMode]’
 1930 |     case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:762:61:   required from here
  762 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian::TraverseTree )
      |                                                             ^~~~~~~~~~~~
SPLITT.h:2137:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2137 |     exception_handler_.Run([=]{
      |                            ^~~~
 2138 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2139 |     });
      |     ~                       
SPLITT.h:2137:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2151:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2151 |         exception_handler_.Run([=]{
      |                                ^~~~
 2152 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2153 |         });
      |         ~                       
SPLITT.h:2151:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2165:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2165 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2166 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2167 |           });
      |           ~                       
SPLITT.h:2165:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’:
SPLITT.h:1931:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; ModeType = SPLITT::PostOrderMode]’
 1931 |     case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:762:61:   required from here
  762 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian::TraverseTree )
      |                                                             ^~~~~~~~~~~~
SPLITT.h:2190:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2190 |       exception_handler_.Run([=]{
      |                              ^~~~
 2191 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2192 |       });
      |       ~                       
SPLITT.h:2190:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2200:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2200 |         exception_handler_.Run([=]{
      |                                ^~~~
 2201 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2202 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2203 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2204 |           } else {
      |           ~~~~~~~~              
 2205 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2206 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2207 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2208 |             }
      |             ~                   
 2209 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2210 |           }
      |           ~                     
 2211 |         });
      |         ~                       
SPLITT.h:2200:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2181:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
 2181 |   uint tid;
      |        ^~~
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’:
SPLITT.h:1932:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; ModeType = SPLITT::PostOrderMode]’
 1932 |     case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:762:61:   required from here
  762 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian::TraverseTree )
      |                                                             ^~~~~~~~~~~~
SPLITT.h:2226:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2226 |   exception_handler_.Run([=]{
      |                          ^~~~
 2227 |     while(true) {
      |     ~~~~~~~~~~~~~         
 2228 |       uint i = ParentType::visit_queue_.NextInQueue();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2229 |       if(i == G_NA_UINT) {
      |       ~~~~~~~~~~~~~~~~~~~~
 2230 |         continue;
      |         ~~~~~~~~~         
 2231 |       } else if(i == ParentType::ref_tree_.num_nodes()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2232 |         break;
      |         ~~~~~~            
 2233 |       } else if(i < ParentType::ref_tree_.num_tips()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2234 |         // i is a tip (only Visit)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2235 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2236 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2237 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2238 |       } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2239 |         // i is internal
      |         ~~~~~~~~~~~~~~~~  
 2240 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2241 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2242 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2243 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2244 |         }
      |         ~                 
 2245 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2246 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2247 |       } else {
      |       ~~~~~~~~            
 2248 |         // i is the root
      |         ~~~~~~~~~~~~~~~~  
 2249 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2250 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2251 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2252 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2253 |         }
      |         ~                 
 2254 |         // don't visit the root
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2255 |       }
      |       ~                   
 2256 |     }
      |     ~                     
 2257 |   });
      |   ~                       
SPLITT.h:2226:26: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’:
SPLITT.h:1934:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; ModeType = SPLITT::PostOrderMode]’
 1934 |     case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:762:61:   required from here
  762 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian::TraverseTree )
      |                                                             ^~~~~~~~~~~~
SPLITT.h:2387:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2387 |       exception_handler_.Run([=]{
      |                              ^~~~
 2388 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2389 |       });
      |       ~                       
SPLITT.h:2387:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2401:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2401 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2402 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2403 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2404 |           });
      |           ~                       
SPLITT.h:2401:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2411:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2411 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2412 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2413 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2414 |           });
      |           ~                       
SPLITT.h:2411:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’:
SPLITT.h:1935:57:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; ModeType = SPLITT::PostOrderMode]’
 1935 |     case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:762:61:   required from here
  762 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian::TraverseTree )
      |                                                             ^~~~~~~~~~~~
SPLITT.h:2323:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2323 |       exception_handler_.Run([=]{
      |                              ^~~~
 2324 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2325 |       });
      |       ~                       
SPLITT.h:2323:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2337:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2337 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2338 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2339 |           });
      |           ~                       
SPLITT.h:2337:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2346:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2346 |         exception_handler_.Run([=]{
      |                                ^~~~
 2347 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2348 |         });
      |         ~                       
SPLITT.h:2346:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2360:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2360 |             exception_handler_.Run([=]{
      |                                    ^~~~
 2361 |               ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2362 |             });
      |             ~                       
SPLITT.h:2360:36: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’:
SPLITT.h:1936:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; ModeType = SPLITT::PostOrderMode]’
 1936 |     case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:762:61:   required from here
  762 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian::TraverseTree )
      |                                                             ^~~~~~~~~~~~
SPLITT.h:2435:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2435 |       exception_handler_.Run([=]{
      |                              ^~~~
 2436 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2437 |       });
      |       ~                       
SPLITT.h:2435:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2448:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2448 |         exception_handler_.Run([=]{
      |                                ^~~~
 2449 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2450 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2451 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2452 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2453 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2454 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2455 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2456 |             }
      |             ~                   
 2457 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2458 |           }
      |           ~                     
 2459 |         });
      |         ~                       
SPLITT.h:2448:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2466:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2466 |         exception_handler_.Run([=]{
      |                                ^~~~
 2467 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2468 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2469 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2470 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2471 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2472 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2473 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2474 |             }
      |             ~                   
 2475 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2476 |           }
      |           ~                     
 2477 |         });
      |         ~                       
SPLITT.h:2466:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2485:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2485 |       exception_handler_.Run([=]{
      |                              ^~~~
 2486 |         ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2487 |       });
      |       ~                       
SPLITT.h:2485:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’:
SPLITT.h:1926:50:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; ModeType = SPLITT::PostOrderMode]’
 1926 |     case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:834:63:   required from here
  834 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian1D::TraverseTree )
      |                                                               ^~~~~~~~~~~~
SPLITT.h:2056:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2056 |       exception_handler_.Run([=]{
      |                              ^~~~
 2057 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2058 |       });
      |       ~                       
SPLITT.h:2056:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2063:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2063 |       exception_handler_.Run([=]{
      |                              ^~~~
 2064 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2065 |         ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2066 |       });
      |       ~                       
SPLITT.h:2063:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’:
SPLITT.h:1927:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; ModeType = SPLITT::PostOrderMode]’
 1927 |     case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:834:63:   required from here
  834 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian1D::TraverseTree )
      |                                                               ^~~~~~~~~~~~
SPLITT.h:2074:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2074 |       exception_handler_.Run([=]{
      |                              ^~~~
 2075 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2076 |       });
      |       ~                       
SPLITT.h:2074:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2087:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2087 |         exception_handler_.Run([=]{
      |                                ^~~~
 2088 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2089 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2090 |         });
      |         ~                       
SPLITT.h:2087:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’:
SPLITT.h:1928:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; ModeType = SPLITT::PostOrderMode]’
 1928 |     case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:834:63:   required from here
  834 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian1D::TraverseTree )
      |                                                               ^~~~~~~~~~~~
SPLITT.h:2099:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2099 |       exception_handler_.Run([=]{
      |                              ^~~~
 2100 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2101 |       });
      |       ~                       
SPLITT.h:2099:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2109:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2109 |         exception_handler_.Run([=]{
      |                                ^~~~
 2110 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2111 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2112 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |           } else {
      |           ~~~~~~~~              
 2114 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2115 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2116 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2117 |             }
      |             ~                   
 2118 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2119 |           }
      |           ~                     
 2120 |         });
      |         ~                       
SPLITT.h:2109:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’:
SPLITT.h:1929:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; ModeType = SPLITT::PostOrderMode]’
 1929 |     case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:834:63:   required from here
  834 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian1D::TraverseTree )
      |                                                               ^~~~~~~~~~~~
SPLITT.h:2268:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2268 |     exception_handler_.Run([=]{
      |                            ^~~~
 2269 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2270 |     });
      |     ~                       
SPLITT.h:2268:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2279:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2279 |         exception_handler_.Run([=]{
      |                                ^~~~
 2280 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2281 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2282 |         });
      |         ~                       
SPLITT.h:2279:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’:
SPLITT.h:1930:63:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; ModeType = SPLITT::PostOrderMode]’
 1930 |     case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:834:63:   required from here
  834 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian1D::TraverseTree )
      |                                                               ^~~~~~~~~~~~
SPLITT.h:2137:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2137 |     exception_handler_.Run([=]{
      |                            ^~~~
 2138 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2139 |     });
      |     ~                       
SPLITT.h:2137:28: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2151:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2151 |         exception_handler_.Run([=]{
      |                                ^~~~
 2152 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2153 |         });
      |         ~                       
SPLITT.h:2151:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2165:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2165 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2166 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2167 |           });
      |           ~                       
SPLITT.h:2165:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’:
SPLITT.h:1931:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; ModeType = SPLITT::PostOrderMode]’
 1931 |     case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:834:63:   required from here
  834 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian1D::TraverseTree )
      |                                                               ^~~~~~~~~~~~
SPLITT.h:2190:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2190 |       exception_handler_.Run([=]{
      |                              ^~~~
 2191 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2192 |       });
      |       ~                       
SPLITT.h:2190:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2200:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2200 |         exception_handler_.Run([=]{
      |                                ^~~~
 2201 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2202 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2203 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2204 |           } else {
      |           ~~~~~~~~              
 2205 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2206 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2207 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2208 |             }
      |             ~                   
 2209 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2210 |           }
      |           ~                     
 2211 |         });
      |         ~                       
SPLITT.h:2200:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2181:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
 2181 |   uint tid;
      |        ^~~
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’:
SPLITT.h:1932:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; ModeType = SPLITT::PostOrderMode]’
 1932 |     case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:834:63:   required from here
  834 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian1D::TraverseTree )
      |                                                               ^~~~~~~~~~~~
SPLITT.h:2226:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2226 |   exception_handler_.Run([=]{
      |                          ^~~~
 2227 |     while(true) {
      |     ~~~~~~~~~~~~~         
 2228 |       uint i = ParentType::visit_queue_.NextInQueue();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2229 |       if(i == G_NA_UINT) {
      |       ~~~~~~~~~~~~~~~~~~~~
 2230 |         continue;
      |         ~~~~~~~~~         
 2231 |       } else if(i == ParentType::ref_tree_.num_nodes()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2232 |         break;
      |         ~~~~~~            
 2233 |       } else if(i < ParentType::ref_tree_.num_tips()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2234 |         // i is a tip (only Visit)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2235 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2236 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2237 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2238 |       } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2239 |         // i is internal
      |         ~~~~~~~~~~~~~~~~  
 2240 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2241 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2242 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2243 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2244 |         }
      |         ~                 
 2245 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2246 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2247 |       } else {
      |       ~~~~~~~~            
 2248 |         // i is the root
      |         ~~~~~~~~~~~~~~~~  
 2249 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2250 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2251 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2252 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2253 |         }
      |         ~                 
 2254 |         // don't visit the root
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2255 |       }
      |       ~                   
 2256 |     }
      |     ~                     
 2257 |   });
      |   ~                       
SPLITT.h:2226:26: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’:
SPLITT.h:1934:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; ModeType = SPLITT::PostOrderMode]’
 1934 |     case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:834:63:   required from here
  834 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian1D::TraverseTree )
      |                                                               ^~~~~~~~~~~~
SPLITT.h:2387:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2387 |       exception_handler_.Run([=]{
      |                              ^~~~
 2388 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2389 |       });
      |       ~                       
SPLITT.h:2387:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2401:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2401 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2402 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2403 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2404 |           });
      |           ~                       
SPLITT.h:2401:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2411:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2411 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2412 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2413 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2414 |           });
      |           ~                       
SPLITT.h:2411:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’:
SPLITT.h:1935:57:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; ModeType = SPLITT::PostOrderMode]’
 1935 |     case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:834:63:   required from here
  834 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian1D::TraverseTree )
      |                                                               ^~~~~~~~~~~~
SPLITT.h:2323:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2323 |       exception_handler_.Run([=]{
      |                              ^~~~
 2324 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2325 |       });
      |       ~                       
SPLITT.h:2323:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2337:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2337 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2338 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2339 |           });
      |           ~                       
SPLITT.h:2337:34: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2346:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2346 |         exception_handler_.Run([=]{
      |                                ^~~~
 2347 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2348 |         });
      |         ~                       
SPLITT.h:2346:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2360:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2360 |             exception_handler_.Run([=]{
      |                                    ^~~~
 2361 |               ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2362 |             });
      |             ~                       
SPLITT.h:2360:36: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’:
SPLITT.h:1936:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; ModeType = SPLITT::PostOrderMode]’
 1936 |     case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPLITT.h:623:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  623 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QuadraticPolyCommon.h:128:31:   required from ‘std::string PCMBaseCpp::TraversalTaskWrapper<TraversalSpec>::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string<char>; ParameterType = std::vector<double>; PCMBaseCpp::uint = unsigned int]’
  128 |       taskObject_.TraverseTree(par, mode);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
Rcpp.cpp:834:63:   required from here
  834 |       .method( "TraverseTree", &QuadraticPolyMixedGaussian1D::TraverseTree )
      |                                                               ^~~~~~~~~~~~
SPLITT.h:2435:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2435 |       exception_handler_.Run([=]{
      |                              ^~~~
 2436 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2437 |       });
      |       ~                       
SPLITT.h:2435:30: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2448:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2448 |         exception_handler_.Run([=]{
      |                                ^~~~
 2449 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2450 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2451 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2452 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2453 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2454 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2455 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2456 |             }
      |             ~                   
 2457 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2458 |           }
      |           ~                     
 2459 |         });
      |         ~                       
SPLITT.h:2448:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2466:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2466 |         exception_handler_.Run([=]{
      |                                ^~~~
 2467 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2468 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2469 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2470 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2471 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2472 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2473 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2474 |             }
      |             ~                   
 2475 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2476 |           }
      |           ~                     
 2477 |         });
      |         ~                       
SPLITT.h:2466:32: note: add explicit ‘this’ or ‘*this’ capture
SPLITT.h:2485:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2485 |       exception_handler_.Run([=]{
      |                              ^~~~
 2486 |         ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2487 |       });
      |       ~                       
SPLITT.h:2485:30: note: add explicit ‘this’ or ‘*this’ capture
g++ -std=gnu++20 -shared -L/usr/local/lib64 -o PCMBaseCpp.so Rcpp.o -llapack -L/data/gannet/ripley/R/R-devel/lib -lRblas -lgfortran -lm -lquadmath
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/PCMBaseCpp/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/PCMBaseCpp/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/PCMBaseCpp/src'
installing to /data/gannet/ripley/R/packages/tests-devel/PCMBaseCpp.Rcheck/00LOCK-PCMBaseCpp/00new/PCMBaseCpp/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (PCMBaseCpp)