* 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-CXX20/PCMBaseCpp/src' g++ -std=gnu++20 -I"/data/gannet/ripley/R/cxx20/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]’: QuadraticPoly.h:94:16: required from ‘void PCMBaseCpp::DecomposeH(MatEigvalType&, CubeEigvecType&, CubeEigvecType&, const CubeHType&, arma::uword, double) [with MatEigvalType = arma::Mat >; CubeEigvecType = arma::Cube >; CubeHType = arma::Cube; arma::uword = unsigned int]’ 94 | if(IsDiagonal(H.slice(r))) { | ~~~~~~~~~~^~~~~~~~~~~~ QuadraticPolyOU.h:152:17: required from ‘arma::uword PCMBaseCpp::CondGaussianOU::SetParameter(const std::vector&, arma::uword) [with TreeType = SPLITT::OrderedTree; DataType = PCMBaseCpp::NumericTraitData; 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::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::White]’: SPLITT.h:1926:50: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::White]’: SPLITT.h:1927:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::White]’: SPLITT.h:1928:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::White]’: SPLITT.h:1929:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::White]’: SPLITT.h:1930:63: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::White]’: SPLITT.h:1931:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::White]’: SPLITT.h:1932:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::White]’: SPLITT.h:1934:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::White]’: SPLITT.h:1935:57: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::White]’: SPLITT.h:1936:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::White; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::White; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::BM]’: SPLITT.h:1926:50: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM]’: SPLITT.h:1927:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM]’: SPLITT.h:1928:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM]’: SPLITT.h:1929:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM]’: SPLITT.h:1930:63: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM]’: SPLITT.h:1931:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::BM]’: SPLITT.h:1932:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM]’: SPLITT.h:1934:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM]’: SPLITT.h:1935:57: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM]’: SPLITT.h:1936:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::BM1D]’: SPLITT.h:1926:50: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM1D]’: SPLITT.h:1927:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM1D]’: SPLITT.h:1928:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM1D]’: SPLITT.h:1929:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM1D]’: SPLITT.h:1930:63: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM1D]’: SPLITT.h:1931:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::BM1D]’: SPLITT.h:1932:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM1D]’: SPLITT.h:1934:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::BM1D]’: SPLITT.h:1935:57: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::BM1D]’: SPLITT.h:1936:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::BM1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::BM1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::OU]’: SPLITT.h:1926:50: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU]’: SPLITT.h:1927:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU]’: SPLITT.h:1928:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU]’: SPLITT.h:1929:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU]’: SPLITT.h:1930:63: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU]’: SPLITT.h:1931:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::OU]’: SPLITT.h:1932:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU]’: SPLITT.h:1934:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU]’: SPLITT.h:1935:57: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU]’: SPLITT.h:1936:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::OU1D]’: SPLITT.h:1926:50: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU1D]’: SPLITT.h:1927:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU1D]’: SPLITT.h:1928:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU1D]’: SPLITT.h:1929:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU1D]’: SPLITT.h:1930:63: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU1D]’: SPLITT.h:1931:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::OU1D]’: SPLITT.h:1932:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU1D]’: SPLITT.h:1934:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::OU1D]’: SPLITT.h:1935:57: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::OU1D]’: SPLITT.h:1936:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::OU1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::OU1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::JOU]’: SPLITT.h:1926:50: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::JOU]’: SPLITT.h:1927:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::JOU]’: SPLITT.h:1928:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::JOU]’: SPLITT.h:1929:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::JOU]’: SPLITT.h:1930:63: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::JOU]’: SPLITT.h:1931:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::JOU]’: SPLITT.h:1932:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::JOU]’: SPLITT.h:1934:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::JOU]’: SPLITT.h:1935:57: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::JOU]’: SPLITT.h:1936:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::JOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::JOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::DOU]’: SPLITT.h:1926:50: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::DOU]’: SPLITT.h:1927:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::DOU]’: SPLITT.h:1928:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::DOU]’: SPLITT.h:1929:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::DOU]’: SPLITT.h:1930:63: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::DOU]’: SPLITT.h:1931:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::DOU]’: SPLITT.h:1932:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::DOU]’: SPLITT.h:1934:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::DOU]’: SPLITT.h:1935:57: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::DOU]’: SPLITT.h:1936:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::DOU; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::DOU; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’: SPLITT.h:1926:50: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’: SPLITT.h:1927:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’: SPLITT.h:1928:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’: SPLITT.h:1929:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’: SPLITT.h:1930:63: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’: SPLITT.h:1931:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’: SPLITT.h:1932:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’: SPLITT.h:1934:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’: SPLITT.h:1935:57: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian]’: SPLITT.h:1936:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’: SPLITT.h:1926:50: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’: SPLITT.h:1927:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’: SPLITT.h:1928:47: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’: SPLITT.h:1929:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’: SPLITT.h:1930:63: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’: SPLITT.h:1931:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’: SPLITT.h:1932:46: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’: SPLITT.h:1934:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’: SPLITT.h:1935:57: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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::TraverseTreeHybridLoopVisits() [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D]’: SPLITT.h:1936:40: required from ‘void SPLITT::PostOrderTraversal::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::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = PCMBaseCpp::MixedGaussian1D; StateType = arma::Col; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 623 | algorithm_.TraverseTree(static_cast(mode)); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ QuadraticPolyCommon.h:128:31: required from ‘std::string PCMBaseCpp::TraversalTaskWrapper::TraverseTree(const ParameterType&, PCMBaseCpp::uint) [with TraversalSpec = PCMBaseCpp::MixedGaussian1D; std::string = std::__cxx11::basic_string; ParameterType = std::vector; 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/cxx20/lib -lRblas -lgfortran -lm -lquadmath make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-CXX20/PCMBaseCpp/src' make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-CXX20/PCMBaseCpp/src' make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-CXX20/PCMBaseCpp/src' installing to /data/gannet/ripley/R/packages/tests-CXX20/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)