############################################################################## ############################################################################## ### ### Running command: ### ### /home/hpages/bbs-3.18-bioc-R41/R/bin/R CMD build --keep-empty-dirs --no-resave-data beachmat ### ############################################################################## ############################################################################## * checking for file ‘beachmat/DESCRIPTION’ ... OK * preparing ‘beachmat’: * checking DESCRIPTION meta-information ... OK * cleaning src * installing the package to build vignettes * creating vignettes ... ERROR --- re-building ‘linking.Rmd’ using rmarkdown Building shared library for Rcpp code chunk... g++ -std=gnu++14 -I"/home/hpages/bbs-3.18-bioc-R41/R/include" -DNDEBUG -I"/home/hpages/bbs-3.18-bioc-R41/R/site-library/Rcpp/include" -I"/tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include" -I"/tmp/RtmpWh5mcr/sourceCpp-x86_64-pc-linux-gnu-1.0.12" -I/usr/local/include -fpic -g -O2 -Wall -c file154ae131d12088.cpp -o file154ae131d12088.o In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/parallelize.hpp:12, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:6, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/manticore/manticore.hpp: In member function ‘void manticore::Executor::finish_thread(bool)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/manticore/manticore.hpp:90:29: error: missing template arguments before ‘lck’ 90 | std::lock_guard lck(run_lock); | ^~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/manticore/manticore.hpp: In member function ‘void manticore::Executor::run(Function_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/manticore/manticore.hpp:123:26: error: missing template arguments before ‘lk’ 123 | std::unique_lock lk(run_lock); | ^~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/manticore/manticore.hpp:124:17: error: ‘lk’ was not declared in this scope 124 | cv.wait(lk, [&]{ return status == Status::FREE; }); | ^~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/manticore/manticore.hpp: In member function ‘void manticore::Executor::listen()’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/manticore/manticore.hpp:159:30: error: missing template arguments before ‘lk’ 159 | std::unique_lock lk(run_lock); | ^~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/manticore/manticore.hpp:161:21: error: ‘lk’ was not declared in this scope 161 | cv.wait(lk, [&]{ return status == Status::PRIMED || done(); }); | ^~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/../base/Matrix.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/../base/Extractor.hpp: In function ‘Index_ tatami::extracted_length(tatami::ConditionalSelectionExtractor&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/../base/Extractor.hpp:138:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 138 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/../base/Extractor.hpp:140:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 140 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/../base/utils.hpp: In function ‘auto tatami::new_extractor(const tatami::Matrix*, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/../base/utils.hpp:42:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 42 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/../base/utils.hpp:43:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 43 | if constexpr(row_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/../base/utils.hpp:49:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 49 | if constexpr(row_) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp: In constructor ‘tatami::VirtualDenseMatrix::SparseWrapper::SparseWrapper(std::unique_ptr, tatami::DenseExtractor >::type>, bool, bool)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp:50:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 50 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp:52:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 52 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp:55:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 55 | } else if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp: In member function ‘const Index_* tatami::VirtualDenseMatrix::SparseWrapper::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp:62:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 62 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp: In member function ‘tatami::SparseRange tatami::VirtualDenseMatrix::SparseWrapper::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp:77:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 77 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/VirtualDenseMatrix.hpp:79:27: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 79 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp: In constructor ‘tatami::DenseMatrix::DenseBase::DenseBase(const tatami::DenseMatrix*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:89:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 89 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp: In constructor ‘tatami::DenseMatrix::DenseBase::DenseBase(const tatami::DenseMatrix*, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:95:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 95 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp: In constructor ‘tatami::DenseMatrix::DenseBase::DenseBase(const tatami::DenseMatrix*, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:102:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 102 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp: In member function ‘const Index_* tatami::DenseMatrix::DenseBase::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:110:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 110 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp: In member function ‘const Value_* tatami::DenseMatrix::DenseBase::fetch(Index_, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:123:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 123 | if constexpr(row_ == accrow_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:124:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 124 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:126:27: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 126 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:132:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 132 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:134:27: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 134 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp: In member function ‘size_t tatami::DenseMatrix::other_dimension() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:151:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 151 | if constexpr(row_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp: In member function ‘const Value_* tatami::DenseMatrix::primary(Index_, Value_*, Index_, Index_) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/dense/DenseMatrix.hpp:161:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 161 | if constexpr(has_data::value) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/primary_extraction.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:6, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:6, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/utils.hpp: In function ‘const auto& tatami::sparse_utils::get_indices(const IndexStorage_&, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/utils.hpp:27:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 27 | if constexpr(is_fragmented()) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/utils.hpp: In function ‘auto tatami::sparse_utils::get_upper_limit(const IndexStorage_&, const PointerStorage_&, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/utils.hpp:36:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 36 | if constexpr(is_fragmented()) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/utils.hpp: In function ‘auto tatami::sparse_utils::get_lower_limit(const PointerStorage_&, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/utils.hpp:47:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 47 | if constexpr(is_fragmented()) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:6, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:6, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/primary_extraction.hpp: In function ‘void tatami::sparse_utils::transplant_primary_values(const ValueStorage_&, const std::pair&, tatami::SparseRange&, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/primary_extraction.hpp:71:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 71 | if constexpr(has_data::value) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/primary_extraction.hpp: In function ‘void tatami::sparse_utils::transplant_primary_indices(const IndexStorage_&, const std::pair&, tatami::SparseRange&, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/primary_extraction.hpp:86:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 86 | if constexpr(has_data::value) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:7, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:6, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SparseSecondaryExtractorCore.hpp: In member function ‘bool tatami::SparseSecondaryExtractorCore::search_base(StoredIndex_, Index_, PrimaryFunction_, const IndexStorage_&, const PointerStorage_&, StoreFunction_, SkipFunction_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SparseSecondaryExtractorCore.hpp:390:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 390 | if constexpr(std::is_signed::value) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:6, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In constructor ‘tatami::CompressedSparseMatrix::CompressedSparseMatrix(Index_, Index_, ValueStorage_, IndexStorage_, PointerStorage_, bool)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:76:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 76 | if constexpr(row_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:104:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 104 | if constexpr(row_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:114:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 114 | if constexpr(row_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In constructor ‘tatami::CompressedSparseMatrix::CompressedExtractorBase::CompressedExtractorBase(const tatami::CompressedSparseMatrix*, const tatami::Options&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:161:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 161 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In constructor ‘tatami::CompressedSparseMatrix::CompressedExtractorBase::CompressedExtractorBase(const tatami::CompressedSparseMatrix*, const tatami::Options&, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:167:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 167 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In constructor ‘tatami::CompressedSparseMatrix::CompressedExtractorBase::CompressedExtractorBase(const tatami::CompressedSparseMatrix*, const tatami::Options&, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:174:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 174 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In member function ‘const Index_* tatami::CompressedSparseMatrix::CompressedExtractorBase::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:182:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 182 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In constructor ‘tatami::CompressedSparseMatrix::PrimaryExtractorBase::PrimaryExtractorBase(const tatami::CompressedSparseMatrix*, const tatami::Options&, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:210:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 210 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:213:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 213 | } else if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:220:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 220 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:222:27: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 222 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In member function ‘const Value_* tatami::CompressedSparseMatrix::DensePrimaryExtractor::fetch(Index_, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:245:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 245 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:249:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 249 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In member function ‘tatami::SparseRange tatami::CompressedSparseMatrix::SparsePrimaryExtractor::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:277:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 277 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:284:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 284 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In constructor ‘tatami::CompressedSparseMatrix::SecondaryExtractorBase::SecondaryExtractorBase(const tatami::CompressedSparseMatrix*, const tatami::Options&, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:363:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 363 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:365:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 365 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In member function ‘const Value_* tatami::CompressedSparseMatrix::DenseSecondaryExtractor::fetch(Index_, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:457:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 457 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:460:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 460 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In member function ‘tatami::SparseRange tatami::CompressedSparseMatrix::SparseSecondaryExtractor::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:485:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 485 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:487:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 487 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::CompressedSparseMatrix::populate(const tatami::Options&, Args_&& ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:505:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 505 | if constexpr(accrow_ == row_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:506:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 506 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/CompressedSparseMatrix.hpp:512:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 512 | if constexpr(sparse_) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:7, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In constructor ‘tatami::SemiCompressedSparseMatrix::SemiCompressedSparseMatrix(Index_, Index_, IndexStorage_, PointerStorage_, bool)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:98:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 98 | if constexpr(row_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In constructor ‘tatami::SemiCompressedSparseMatrix::SemiCompressedExtractorBase::SemiCompressedExtractorBase(const tatami::SemiCompressedSparseMatrix*, const tatami::Options&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:148:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 148 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In constructor ‘tatami::SemiCompressedSparseMatrix::SemiCompressedExtractorBase::SemiCompressedExtractorBase(const tatami::SemiCompressedSparseMatrix*, const tatami::Options&, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:154:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 154 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In constructor ‘tatami::SemiCompressedSparseMatrix::SemiCompressedExtractorBase::SemiCompressedExtractorBase(const tatami::SemiCompressedSparseMatrix*, const tatami::Options&, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:161:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 161 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In member function ‘const Index_* tatami::SemiCompressedSparseMatrix::SemiCompressedExtractorBase::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:169:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 169 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In constructor ‘tatami::SemiCompressedSparseMatrix::PrimaryExtractorBase::PrimaryExtractorBase(const tatami::SemiCompressedSparseMatrix*, const tatami::Options&, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:219:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 219 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:222:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 222 | } else if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In member function ‘const Value_* tatami::SemiCompressedSparseMatrix::DensePrimaryExtractor::fetch(Index_, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:355:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 355 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:357:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 357 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In member function ‘tatami::SparseRange tatami::SemiCompressedSparseMatrix::SparsePrimaryExtractor::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:420:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 420 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:422:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 422 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In constructor ‘tatami::SemiCompressedSparseMatrix::SecondaryExtractorBase::SecondaryExtractorBase(const tatami::SemiCompressedSparseMatrix*, const tatami::Options&, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:550:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 550 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:552:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 552 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In member function ‘const Value_* tatami::SemiCompressedSparseMatrix::DenseSecondaryExtractor::fetch(Index_, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:647:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 647 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:651:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 651 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In member function ‘tatami::SparseRange tatami::SemiCompressedSparseMatrix::SparseSecondaryExtractor::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:683:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 683 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:685:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 685 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::SemiCompressedSparseMatrix::populate(const tatami::Options&, Args_&& ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:703:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 703 | if constexpr(accrow_ == row_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:704:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 704 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/SemiCompressedSparseMatrix.hpp:710:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 710 | if constexpr(sparse_) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:8, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In constructor ‘tatami::FragmentedSparseMatrix::FragmentedSparseMatrix(Index_, Index_, ValueVectorStorage_, IndexVectorStorage_, bool)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:96:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 96 | if constexpr(row_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In constructor ‘tatami::FragmentedSparseMatrix::FragmentedExtractorBase::FragmentedExtractorBase(const tatami::FragmentedSparseMatrix*, const tatami::Options&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:148:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 148 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In constructor ‘tatami::FragmentedSparseMatrix::FragmentedExtractorBase::FragmentedExtractorBase(const tatami::FragmentedSparseMatrix*, const tatami::Options&, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:154:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 154 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In constructor ‘tatami::FragmentedSparseMatrix::FragmentedExtractorBase::FragmentedExtractorBase(const tatami::FragmentedSparseMatrix*, const tatami::Options&, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:161:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 161 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In member function ‘const Index_* tatami::FragmentedSparseMatrix::FragmentedExtractorBase::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:169:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 169 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In constructor ‘tatami::FragmentedSparseMatrix::PrimaryExtractorBase::PrimaryExtractorBase(const tatami::FragmentedSparseMatrix*, const tatami::Options&, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:199:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 199 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:202:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 202 | } else if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:209:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 209 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:211:27: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 211 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In member function ‘const Value_* tatami::FragmentedSparseMatrix::DensePrimaryExtractor::fetch(Index_, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:234:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 234 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:238:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 238 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In member function ‘tatami::SparseRange tatami::FragmentedSparseMatrix::SparsePrimaryExtractor::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:265:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 265 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:272:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 272 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In constructor ‘tatami::FragmentedSparseMatrix::SecondaryExtractorBase::SecondaryExtractorBase(const tatami::FragmentedSparseMatrix*, const tatami::Options&, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:350:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 350 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:352:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 352 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In member function ‘const Value_* tatami::FragmentedSparseMatrix::DenseSecondaryExtractor::fetch(Index_, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:448:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 448 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:451:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 451 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In member function ‘tatami::SparseRange tatami::FragmentedSparseMatrix::SparseSecondaryExtractor::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:505:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 505 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:507:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 507 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::FragmentedSparseMatrix::populate(const tatami::Options&, Args_&& ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:525:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 525 | if constexpr(accrow_ == row_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:526:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 526 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/FragmentedSparseMatrix.hpp:532:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 532 | if constexpr(sparse_) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/convert_to_fragmented_sparse.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/convert_to_compressed_sparse.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:9, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/../stats/utils.hpp: In function ‘void tatami::parallelize(Function_, Index_, size_t)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/sparse/../stats/utils.hpp:55:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 55 | if constexpr(parallel_) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:12, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In member function ‘bool tatami::DelayedUnaryIsometricOp::sparse() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:90:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 90 | if constexpr(Operation_::always_sparse) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:92:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 92 | } else if constexpr(!Operation_::always_dense) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In member function ‘double tatami::DelayedUnaryIsometricOp::sparse_proportion() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:101:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 101 | if constexpr(Operation_::always_sparse) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:103:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 103 | } else if constexpr(!Operation_::always_dense) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In constructor ‘tatami::DelayedUnaryIsometricOp::IsometricExtractorBase::IsometricExtractorBase(const tatami::DelayedUnaryIsometricOp*, std::unique_ptr, tatami::DenseExtractor >::type>)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:135:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 135 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:137:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 137 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In member function ‘const Index_* tatami::DelayedUnaryIsometricOp::IsometricExtractorBase::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:146:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 146 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In member function ‘const Value_* tatami::DelayedUnaryIsometricOp::DenseIsometricExtractor_Basic::fetch(Index_, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:186:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 186 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:188:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 188 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In constructor ‘tatami::DelayedUnaryIsometricOp::DenseIsometricExtractor_FromSparse::DenseIsometricExtractor_FromSparse(const tatami::DelayedUnaryIsometricOp*, tatami::Options, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:235:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 235 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In lambda function: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:252:24: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 252 | if constexpr(Operation_::always_sparse) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:254:31: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 254 | } else if constexpr(Operation_::always_dense) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In member function ‘const Value_* tatami::DelayedUnaryIsometricOp::DenseIsometricExtractor_FromSparse::fetch(Index_, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:264:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 264 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:268:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 268 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In static member function ‘static void tatami::DelayedUnaryIsometricOp::fill_dense_indices(const Extractor_&, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:294:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 294 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:296:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 296 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In member function ‘tatami::SparseRange tatami::DelayedUnaryIsometricOp::SparseIsometricExtractor_FromDense::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:328:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 328 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:330:27: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 330 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In constructor ‘tatami::DelayedUnaryIsometricOp::SparseIsometricExtractor_ForcedDense::SparseIsometricExtractor_ForcedDense(const tatami::DelayedUnaryIsometricOp*, tatami::Options, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:470:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 470 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In lambda function: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:494:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 494 | if constexpr(Operation_::always_sparse) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In member function ‘tatami::SparseRange tatami::DelayedUnaryIsometricOp::SparseIsometricExtractor_ForcedDense::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:502:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 502 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:506:27: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 506 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In member function ‘bool tatami::DelayedUnaryIsometricOp::preserves_sparsity() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:540:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 540 | if constexpr(Operation_::always_sparse) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:542:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 542 | } else if constexpr(!Operation_::always_dense) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedUnaryIsometricOp::propagate(const tatami::Options&, Args_&& ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:552:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 552 | if constexpr(!sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:561:24: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 561 | if constexpr(accrow_ && !Operation_::needs_column) { // constant sparsity breaking | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:563:31: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 563 | } else if constexpr(!accrow_ && !Operation_::needs_row) { // constant sparsity breaking | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:577:24: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 577 | if constexpr(accrow_ && !Operation_::needs_column) { // no need for column indices | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:579:31: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 579 | } else if constexpr(!accrow_ && !Operation_::needs_row) { // no need for row indices | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:586:24: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 586 | if constexpr(accrow_ && !Operation_::needs_column) { // constant sparsity breaking | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:588:31: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 588 | } else if constexpr(!accrow_ && !Operation_::needs_row) { // constant sparsity breaking | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:693, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:12, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp: In function ‘void tatami::delayed_arith_run(Value_&, Scalar_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:32:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 32 | if constexpr(op_ == DelayedArithOp::ADD) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:34:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 34 | } else if constexpr(op_ == DelayedArithOp::MULTIPLY) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:36:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 36 | } else if constexpr(op_ == DelayedArithOp::SUBTRACT) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:37:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 37 | if constexpr(right_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:42:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 42 | } else if constexpr(op_ == DelayedArithOp::DIVIDE) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:48:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 48 | if constexpr(right_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:53:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 53 | } else if constexpr(op_ == DelayedArithOp::POWER) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:54:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 54 | if constexpr(right_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:59:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 59 | } else if constexpr(op_ == DelayedArithOp::MODULO) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:60:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 60 | if constexpr(right_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:65:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 65 | } else if constexpr(op_ == DelayedArithOp::INTEGER_DIVIDE) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../arith_utils.hpp:66:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 66 | if constexpr(right_) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:693, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:12, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp: In function ‘bool tatami::delayed_arith_actual_sparse(Scalar_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:35:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 35 | if constexpr(delayed_arith_unsupported_division_by_zero()) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp: In function ‘Value_ tatami::delayed_arith_zero(Scalar_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:52:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 52 | if constexpr(delayed_arith_unsupported_division_by_zero()) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp: In function ‘constexpr bool tatami::delayed_arith_always_dense()’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:66:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 66 | if constexpr(!right_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:67:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 67 | if constexpr(op_ == DelayedArithOp::DIVIDE) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:69:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 69 | } else if constexpr(op_ == DelayedArithOp::POWER) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:71:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 71 | } else if constexpr(op_ == DelayedArithOp::MODULO) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:73:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 73 | } else if constexpr(op_ == DelayedArithOp::INTEGER_DIVIDE) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp: In function ‘constexpr bool tatami::delayed_arith_always_sparse()’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:84:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 84 | if constexpr(op_ == DelayedArithOp::MULTIPLY && | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:693, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:12, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp: In member function ‘void tatami::DelayedArithVectorHelper::dense(Index_, ExtractType_, Index_, Value_*) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:224:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 224 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:227:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 227 | } else if constexpr(std::is_same::value) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp: In member function ‘void tatami::DelayedArithVectorHelper::sparse(Index_, Index_, Value_*, const Index_*) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/arith_helpers.hpp:241:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 241 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/compare_helpers.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:697, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:12, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../compare_utils.hpp: In function ‘void tatami::delayed_compare_run(Value_&, Scalar_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../compare_utils.hpp:29:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 29 | if constexpr(op_ == DelayedCompareOp::EQUAL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../compare_utils.hpp:31:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 31 | } else if constexpr(op_ == DelayedCompareOp::GREATER_THAN) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../compare_utils.hpp:33:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 33 | } else if constexpr(op_ == DelayedCompareOp::LESS_THAN) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../compare_utils.hpp:35:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 35 | } else if constexpr(op_ == DelayedCompareOp::GREATER_THAN_OR_EQUAL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../compare_utils.hpp:37:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 37 | } else if constexpr(op_ == DelayedCompareOp::LESS_THAN_OR_EQUAL) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:697, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:12, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/compare_helpers.hpp: In member function ‘void tatami::DelayedCompareVectorHelper::dense(Index_, ExtractType_, Index_, Value_*) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/compare_helpers.hpp:159:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 159 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/compare_helpers.hpp:162:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 162 | } else if constexpr(std::is_same::value) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/compare_helpers.hpp: In member function ‘void tatami::DelayedCompareVectorHelper::sparse(Index_, Index_, Value_*, const Index_*) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/compare_helpers.hpp:176:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 176 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/boolean_helpers.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:699, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:12, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../boolean_utils.hpp: In function ‘void tatami::delayed_boolean_run(Value_&, bool)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../boolean_utils.hpp:27:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 27 | if constexpr(op_ == DelayedBooleanOp::AND) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../boolean_utils.hpp:29:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 29 | } else if constexpr(op_ == DelayedBooleanOp::OR) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/../boolean_utils.hpp:31:15: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 31 | } else if constexpr(op_ == DelayedBooleanOp::XOR) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/DelayedUnaryIsometricOp.hpp:699, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:12, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/boolean_helpers.hpp: In member function ‘void tatami::DelayedBooleanVectorHelper::dense(Index_, ExtractType_, Index_, Value_*) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/boolean_helpers.hpp:212:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 212 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/boolean_helpers.hpp:215:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 215 | } else if constexpr(std::is_same::value) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/boolean_helpers.hpp: In member function ‘void tatami::DelayedBooleanVectorHelper::sparse(Index_, Index_, Value_*, const Index_*) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/unary/boolean_helpers.hpp:229:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 229 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:13, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp: In member function ‘bool tatami::DelayedBinaryIsometricOp::sparse() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:97:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 97 | if constexpr(Operation_::always_sparse) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp: In member function ‘double tatami::DelayedBinaryIsometricOp::sparse_proportion() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:104:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 104 | if constexpr(Operation_::always_sparse) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp: In constructor ‘tatami::DelayedBinaryIsometricOp::IsometricExtractorBase::IsometricExtractorBase(const tatami::DelayedBinaryIsometricOp*, std::unique_ptr, tatami::DenseExtractor >::type>, std::unique_ptr, tatami::DenseExtractor >::type>)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:143:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 143 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:145:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 145 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp: In member function ‘const Index_* tatami::DelayedBinaryIsometricOp::IsometricExtractorBase::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:154:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 154 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp: In member function ‘const Value_* tatami::DelayedBinaryIsometricOp::DenseIsometricExtractor::fetch(Index_, Value_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:260:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 260 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:262:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 262 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp: In member function ‘tatami::SparseRange tatami::DelayedBinaryIsometricOp::DensifiedSparseIsometricExtractor::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:362:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 362 | if constexpr(!Operation_::always_sparse) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:363:24: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 363 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:365:31: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 365 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:376:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 376 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:378:27: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 378 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedBinaryIsometricOp::propagate(const tatami::Options&, Args_ ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:405:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 405 | if constexpr(!sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:410:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 410 | } else if constexpr(Operation_::always_sparse) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/arith_helpers.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/DelayedBinaryIsometricOp.hpp:518, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:13, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp: In lambda function: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp:11:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 11 | if constexpr(needs_value) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp:15:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 15 | if constexpr(needs_index) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp: In lambda function: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp:23:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 23 | if constexpr(needs_value) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp:27:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 27 | if constexpr(needs_index) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp: In function ‘Index_ tatami::delayed_binary_isometric_sparse_operation(const tatami::SparseRange&, const tatami::SparseRange&, Value_*, Index_*, Function_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp:36:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 36 | if constexpr(!must_have_both) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp:43:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 43 | if constexpr(!must_have_both) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp:50:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 50 | if constexpr(needs_value) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp:54:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 54 | if constexpr(needs_index) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/isometric/binary/utils.hpp:63:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 63 | if constexpr(!must_have_both) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:15, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In constructor ‘tatami::DelayedBind::DelayedBind(std::vector > >)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:45:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 45 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In member function ‘Index_ tatami::DelayedBind::internal_nrow() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:110:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 110 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In member function ‘Index_ tatami::DelayedBind::internal_ncol() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:122:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 122 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In constructor ‘tatami::DelayedBind::ParallelExtractor::ParallelExtractor(const tatami::DelayedBind*, const tatami::Options&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:181:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 181 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In constructor ‘tatami::DelayedBind::ParallelExtractor::ParallelExtractor(const tatami::DelayedBind*, const tatami::Options&, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:194:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 194 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:202:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 202 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:213:24: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 213 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In constructor ‘tatami::DelayedBind::ParallelExtractor::ParallelExtractor(const tatami::DelayedBind*, const tatami::Options&, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:229:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 229 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:237:24: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 237 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:255:32: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 255 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In member function ‘const Index_* tatami::DelayedBind::ParallelExtractor::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:276:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 276 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In member function ‘tatami::SparseRange tatami::DelayedBind::SparseParallelExtractor::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:409:24: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 409 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In constructor ‘tatami::DelayedBind::PerpendicularExtractor::PerpendicularExtractor(const tatami::DelayedBind*, const tatami::Options&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:453:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 453 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In constructor ‘tatami::DelayedBind::PerpendicularExtractor::PerpendicularExtractor(const tatami::DelayedBind*, const tatami::Options&, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:465:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 465 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In constructor ‘tatami::DelayedBind::PerpendicularExtractor::PerpendicularExtractor(const tatami::DelayedBind*, const tatami::Options&, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:478:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 478 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedBind::populate(const tatami::Options&, Args_&& ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:655:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 655 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:656:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 656 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedBind.hpp:662:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 662 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:16, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp: In constructor ‘tatami::DelayedCast::CastExtractor::CastExtractor(std::unique_ptr, tatami::DenseExtractor >::type>)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:76:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 76 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:78:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 78 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:81:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 81 | } else if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp: In constructor ‘tatami::DelayedCast::CastExtractor::CastExtractor(std::unique_ptr, tatami::DenseExtractor >::type>, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:87:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 87 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp: In member function ‘const Index_out_* tatami::DelayedCast::CastExtractor::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:98:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 98 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:99:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 99 | if constexpr(same_Index_type_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp: In constructor ‘tatami::DelayedCast::DenseCastExtractor::DenseCastExtractor(std::unique_ptr, tatami::DenseExtractor >::type>, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:134:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 134 | if constexpr(!same_Value_type_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp: In member function ‘const Value_out_* tatami::DelayedCast::DenseCastExtractor::fetch(Index_out_, Value_out_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:140:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 140 | if constexpr(same_Value_type_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp: In constructor ‘tatami::DelayedCast::SparseCastExtractor::SparseCastExtractor(std::unique_ptr, tatami::DenseExtractor >::type>, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:159:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 159 | if constexpr(!same_Value_type_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:162:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 162 | if constexpr(!same_Index_type_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp: In member function ‘tatami::SparseRange tatami::DelayedCast::SparseCastExtractor::fetch(Index_out_, Value_out_*, Index_out_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:168:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 168 | if constexpr(same_Value_type_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:169:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 169 | if constexpr(same_Index_type_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:183:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 183 | if constexpr(same_Index_type_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedCast::populate(const tatami::Options&) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:219:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 219 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedCast::populate(const tatami::Options&, Index_out_, Index_out_) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:231:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 231 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedCast::populate(const tatami::Options&, std::vector) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:243:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 243 | if constexpr(!same_Index_type_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:246:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 246 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/other/DelayedCast.hpp:253:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 253 | if constexpr(sparse_) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:19, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp: In member function ‘Index_ tatami::DelayedSubsetBlock::nrow() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:47:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 47 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp: In member function ‘Index_ tatami::DelayedSubsetBlock::ncol() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:55:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 55 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp: In static member function ‘static constexpr tatami::DimensionSelectionType tatami::DelayedSubsetBlock::define_inner_selection_type()’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:96:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 96 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp: In constructor ‘tatami::DelayedSubsetBlock::AlongExtractor::AlongExtractor(const tatami::DelayedSubsetBlock*, const tatami::Options&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:106:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 106 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp: In constructor ‘tatami::DelayedSubsetBlock::AlongExtractor::AlongExtractor(const tatami::DelayedSubsetBlock*, const tatami::Options&, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:113:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 113 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp: In constructor ‘tatami::DelayedSubsetBlock::AlongExtractor::AlongExtractor(const tatami::DelayedSubsetBlock*, const tatami::Options&, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:121:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 121 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp: In member function ‘const Index_* tatami::DelayedSubsetBlock::AlongExtractor::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:140:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 140 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp: In constructor ‘tatami::DelayedSubsetBlock::AcrossExtractor::AcrossExtractor(std::unique_ptr, tatami::DenseExtractor >::type>, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:192:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 192 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:194:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 194 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:197:23: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 197 | } else if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetBlock::populate(const tatami::Options&, Args_&& ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:259:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 259 | if constexpr(accrow_ != (margin_ == 0)) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:260:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 260 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetBlock.hpp:267:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 267 | if constexpr(sparse_) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/make_DelayedSubset.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:20, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/utils.hpp: In constructor ‘tatami::subset_utils::PerpendicularExtractor::PerpendicularExtractor(std::unique_ptr, tatami::DenseExtractor >::type>, const IndexStorage_&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/utils.hpp:46:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 46 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/utils.hpp:48:19: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 48 | } else if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/utils.hpp: In member function ‘const Index_* tatami::subset_utils::PerpendicularExtractor::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/utils.hpp:62:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 62 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/make_DelayedSubset.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:20, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/utils.hpp: In function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::subset_utils::populate_perpendicular(const tatami::Matrix*, const IndexStorage_&, const tatami::Options&, Args_&& ...)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/utils.hpp:104:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 104 | if constexpr(sparse_) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/make_DelayedSubset.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:20, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp: In constructor ‘tatami::DelayedSubsetSortedUnique::DelayedSubsetSortedUnique(std::shared_ptr >, IndexStorage_, bool)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:39:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 39 | if constexpr(storage_has_data) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp: In member function ‘Index_ tatami::DelayedSubsetSortedUnique::nrow() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:67:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 67 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp: In member function ‘Index_ tatami::DelayedSubsetSortedUnique::ncol() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:75:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 75 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp: In constructor ‘tatami::DelayedSubsetSortedUnique::ParallelWorkspaceBase::ParallelWorkspaceBase(const tatami::DelayedSubsetSortedUnique*, const tatami::Options&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:117:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 117 | if constexpr(selection_ == DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp: In constructor ‘tatami::DelayedSubsetSortedUnique::ParallelWorkspaceBase::ParallelWorkspaceBase(const tatami::DelayedSubsetSortedUnique*, const tatami::Options&, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:124:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 124 | if constexpr(selection_ == DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp: In constructor ‘tatami::DelayedSubsetSortedUnique::ParallelWorkspaceBase::ParallelWorkspaceBase(const tatami::DelayedSubsetSortedUnique*, const tatami::Options&, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:134:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 134 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp: In member function ‘const Index_* tatami::DelayedSubsetSortedUnique::ParallelWorkspaceBase::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:155:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 155 | if constexpr(selection_ == DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetSortedUnique::populate(const tatami::Options&, Args_&& ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:210:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 210 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSortedUnique.hpp:214:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 214 | if constexpr(sparse_) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/make_DelayedSubset.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:20, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp: In member function ‘Index_ tatami::DelayedSubsetSorted::get_mapping_dim() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp:79:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 79 | if constexpr(margin_ == 0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp: In member function ‘Index_ tatami::DelayedSubsetSorted::nrow() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp:88:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 88 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp: In member function ‘Index_ tatami::DelayedSubsetSorted::ncol() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp:96:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 96 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp: In static member function ‘static tatami::SparseRange tatami::DelayedSubsetSorted::remap_sparse_duplicates(Index_, Value_*, Index_*, std::vector&, std::vector&, bool, Extractor_*, const std::vector&, const std::vector&, Indexer_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp:173:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 173 | if constexpr(std::is_same::value) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetSorted::create_inner_extractor(const tatami::Options&, std::vector) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp:190:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 190 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp: In constructor ‘tatami::DelayedSubsetSorted::IndexParallelExtractor::IndexParallelExtractor(const tatami::DelayedSubsetSorted*, const tatami::Options&, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp:400:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 400 | if constexpr(!sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetSorted::populate_parallel(const tatami::Options&) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp:474:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 474 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetSorted::populate_parallel(const tatami::Options&, Index_, Index_) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp:485:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 485 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetSorted::populate_parallel(const tatami::Options&, std::vector) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp:496:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 496 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetSorted::populate(const tatami::Options&, Args_&& ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetSorted.hpp:506:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 506 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/make_DelayedSubset.hpp:6, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:20, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp: In member function ‘Index_ tatami::DelayedSubsetUnique::nrow() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp:120:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 120 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp: In member function ‘Index_ tatami::DelayedSubsetUnique::ncol() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp:128:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 128 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetUnique::create_inner_extractor(const tatami::Options&, std::vector) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp:199:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 199 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp: In constructor ‘tatami::DelayedSubsetUnique::BlockParallelExtractor::BlockParallelExtractor(const tatami::DelayedSubsetUnique*, const tatami::Options&, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp:399:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 399 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp: In constructor ‘tatami::DelayedSubsetUnique::IndexParallelExtractor::IndexParallelExtractor(const tatami::DelayedSubsetUnique*, const tatami::Options&, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp:448:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 448 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetUnique::populate_parallel(const tatami::Options&) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp:497:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 497 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetUnique::populate_parallel(const tatami::Options&, Index_, Index_) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp:508:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 508 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetUnique::populate_parallel(const tatami::Options&, std::vector) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp:519:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 519 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubsetUnique::populate(const tatami::Options&, Args_&& ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubsetUnique.hpp:529:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 529 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/make_DelayedSubset.hpp:7, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:20, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp: In member function ‘Index_ tatami::DelayedSubset::nrow() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:121:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 121 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp: In member function ‘Index_ tatami::DelayedSubset::ncol() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:129:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 129 | if constexpr(margin_==0) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubset::create_inner_extractor(const tatami::Options&, std::vector) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:209:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 209 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp: In constructor ‘tatami::DelayedSubset::BlockParallelExtractor::BlockParallelExtractor(const tatami::DelayedSubset*, const tatami::Options&, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:443:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 443 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:451:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 451 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp: In constructor ‘tatami::DelayedSubset::IndexParallelExtractor::IndexParallelExtractor(const tatami::DelayedSubset*, const tatami::Options&, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:508:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 508 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:516:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 516 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubset::populate_parallel(const tatami::Options&) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:570:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 570 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubset::populate_parallel(const tatami::Options&, Index_, Index_) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:581:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 581 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubset::populate_parallel(const tatami::Options&, std::vector) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:592:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 592 | if constexpr(sparse_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp: In member function ‘std::unique_ptr, tatami::DenseExtractor >::type> tatami::DelayedSubset::populate(const tatami::Options&, Args_&& ...) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/subset/DelayedSubset.hpp:602:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 602 | if constexpr(accrow_ == (margin_ == 0)) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:22, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/utils/compress_sparse_triplets.hpp: In function ‘std::vector tatami::compress_sparse_triplets(size_t, size_t, U&, V&, W&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/utils/compress_sparse_triplets.hpp:104:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 104 | if constexpr(ROW) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/utils/compress_sparse_triplets.hpp:117:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 117 | if constexpr(ROW) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/utils/compress_sparse_triplets.hpp:149:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 149 | if constexpr(ROW) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/utils/convert_to_dense.hpp:1, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:23, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/utils/../dense/convert_to_dense.hpp: In lambda function: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/utils/../dense/convert_to_dense.hpp:46:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 46 | if constexpr(same_type) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:27, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/utils/bind_intersection.hpp: In lambda function: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/utils/bind_intersection.hpp:48:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 48 | if constexpr(margin) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/tatami.hpp:36, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:5, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp: In lambda function: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:50:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 50 | if constexpr(store_min) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:56:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 56 | if constexpr(store_max) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp: In lambda function: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:79:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 79 | if constexpr(store_min) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:85:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 85 | if constexpr(store_max) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:98:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 98 | if constexpr(store_min) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:103:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 103 | if constexpr(store_max) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp: In lambda function: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:120:24: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 120 | if constexpr(store_min) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:123:24: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 123 | if constexpr(store_max) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp: In lambda function: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:141:32: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 141 | if constexpr(store_min) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:147:32: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 147 | if constexpr(store_max) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:155:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 155 | if constexpr(store_min) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami/stats/ranges.hpp:158:28: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 158 | if constexpr(store_max) { | ^~~~~~~~~ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:6, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/SimpleMatrix.hpp: In function ‘tatami_r::Parsed tatami_r::parse_simple_matrix_internal(const InputObject_&)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/SimpleMatrix.hpp:15:23: error: missing template arguments before ‘view’ 15 | tatami::ArrayView view(static_cast(y.begin()), y.size()); | ^~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/SimpleMatrix.hpp:16:77: error: ‘view’ was not declared in this scope 16 | output.matrix.reset(new tatami::DenseColumnMatrix(y.rows(), y.cols(), std::move(view))); | ^~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/SimpleMatrix.hpp:16:82: error: template argument 3 is invalid 16 | output.matrix.reset(new tatami::DenseColumnMatrix(y.rows(), y.cols(), std::move(view))); | ^ In file included from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/tatami_r.hpp:4, from /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/Rtatami.h:8, from file154ae131d12088.cpp:1: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp: In member function ‘Rcpp::List tatami_r::UnknownMatrix::create_rounded_indices(Index_, tatami_r::UnknownMatrix::Workspace*) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:211:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 211 | if constexpr(byrow_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp: In member function ‘Index_ tatami_r::UnknownMatrix::chunk_dim() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:229:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 229 | if constexpr(byrow_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp: In member function ‘Rcpp::List tatami_r::UnknownMatrix::create_next_indices(tatami_r::UnknownMatrix::Workspace*) const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:307:12: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 307 | if constexpr(byrow_) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp: In constructor ‘tatami_r::UnknownMatrix::UnknownExtractor::UnknownExtractor(const tatami_r::UnknownMatrix*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:483:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 483 | if constexpr(selection_ == tatami::DimensionSelectionType::FULL) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp: In constructor ‘tatami_r::UnknownMatrix::UnknownExtractor::UnknownExtractor(const tatami_r::UnknownMatrix*, Index_, Index_)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:491:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 491 | if constexpr(selection_ == tatami::DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp: In constructor ‘tatami_r::UnknownMatrix::UnknownExtractor::UnknownExtractor(const tatami_r::UnknownMatrix*, std::vector)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:500:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 500 | if constexpr(selection_ == tatami::DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp: In member function ‘const Index_* tatami_r::UnknownMatrix::UnknownExtractor::index_start() const’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:509:16: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 509 | if constexpr(selection_ == tatami::DimensionSelectionType::INDEX) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp: In member function ‘tatami::SparseRange tatami_r::UnknownMatrix::SparseUnknownExtractor::fetch(Index_, Value_*, Index_*)’: /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:554:20: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 554 | if constexpr(selection_ == tatami::DimensionSelectionType::BLOCK) { | ^~~~~~~~~ /tmp/RtmpO6pOQg/Rinst14405548042d12/beachmat/include/tatami_r/UnknownMatrix.hpp:559:27: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 559 | } else if constexpr(selection_ == tatami::DimensionSelectionType::INDEX) { | ^~~~~~~~~ make: *** [/home/hpages/bbs-3.18-bioc-R41/R/etc/Makeconf:175: file154ae131d12088.o] Error 1 Quitting from lines 93-118 [unnamed-chunk-4] (linking.Rmd) Error: processing vignette 'linking.Rmd' failed with diagnostics: Error 1 occurred building shared library. --- failed re-building ‘linking.Rmd’ SUMMARY: processing the following file failed: ‘linking.Rmd’ Error: Vignette re-building failed. Execution halted