Back to First build/check report with an "external build node"

This page was generated on 2023-06-01 18:17:19 -0400 (Thu, 01 Jun 2023).

HostnameOSArch (*)R versionInstalled pkgs
xps15Linux (Ubuntu 23.04)x86_644.3.0 Patched (2023-05-23 r84466) -- "Already Tomorrow" 544
Click on any hostname to see more info about the system (e.g. compilers)      (*) as reported by 'uname -p', except on Windows and Mac OS X

INSTALL results for beachmat on xps15


To the developers/maintainers of the beachmat package:
Use the following Renviron settings to reproduce errors and warnings.

Note: If "R CMD check" recently failed on the Linux builder over a missing dependency, add the missing dependency to "Suggests" in your DESCRIPTION file. See the Renviron.bioc for details.

raw results

Package 12/91HostnameOS / ArchINSTALLBUILDCHECKBUILD BIN
beachmat 2.17.5  (landing page)
Aaron Lun
Snapshot Date: 2023-06-01 15:10:15 -0400 (Thu, 01 Jun 2023)
git_url: https://git.bioconductor.org/packages/beachmat
git_branch: devel
git_last_commit: b017ae6
git_last_commit_date: 2023-06-01 13:30:54 -0400 (Thu, 01 Jun 2023)
xps15Linux (Ubuntu 23.04) / x86_64  OK    OK    ERROR  

Summary

Package: beachmat
Version: 2.17.5
Command: /home/hpages/bbs-3.18-bioc/R/bin/R CMD INSTALL beachmat
StartedAt: 2023-06-01 12:22:36 -0700 (Thu, 01 Jun 2023)
EndedAt: 2023-06-01 12:25:40 -0700 (Thu, 01 Jun 2023)
EllapsedTime: 184.2 seconds
RetCode: 0
Status:   OK  

Command output

##############################################################################
##############################################################################
###
### Running command:
###
###   /home/hpages/bbs-3.18-bioc/R/bin/R CMD INSTALL beachmat
###
##############################################################################
##############################################################################


* installing to library ‘/home/hpages/bbs-3.18-bioc-testing/Rlibs’
* installing *source* package ‘beachmat’ ...
** using staged installation
** libs
using C++ compiler: ‘g++ (Ubuntu 12.2.0-17ubuntu1) 12.2.0’
using C++17
g++ -std=gnu++17 -I"/home/hpages/bbs-3.18-bioc/R/include" -DNDEBUG -I../inst/include -I'/home/hpages/bbs-3.18-bioc/R/site-library/Rcpp/include' -I/usr/local/include    -fpic  -g -O2  -Wall -c RcppExports.cpp -o RcppExports.o
g++ -std=gnu++17 -I"/home/hpages/bbs-3.18-bioc/R/include" -DNDEBUG -I../inst/include -I'/home/hpages/bbs-3.18-bioc/R/site-library/Rcpp/include' -I/usr/local/include    -fpic  -g -O2  -Wall -c delayed_ops.cpp -o delayed_ops.o
In file included from ../inst/include/tatami/tatami.hpp:11,
                 from ../inst/include/tatami_r/UnknownMatrix.hpp:5,
                 from ../inst/include/tatami_r/tatami_r.hpp:4,
                 from ../inst/include/Rtatami.h:8,
                 from delayed_ops.cpp:1:
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = true; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = true; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:642:49:   required from ‘tatami::SparseRange<Value_, Index_> tatami::DelayedBind<margin_, Value_, Index_>::SparsePerpendicularExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; int margin_ = 0; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:641:37:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = true; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = true; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:642:49:   required from ‘tatami::SparseRange<Value_, Index_> tatami::DelayedBind<margin_, Value_, Index_>::SparsePerpendicularExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; int margin_ = 0; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:641:37:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; bool sparse_ = true; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; bool sparse_ = true; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:642:49:   required from ‘tatami::SparseRange<Value_, Index_> tatami::DelayedBind<margin_, Value_, Index_>::SparsePerpendicularExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; int margin_ = 0; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:641:37:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:631:49:   required from ‘const Value_* tatami::DelayedBind<margin_, Value_, Index_>::DensePerpendicularExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; int margin_ = 0; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:630:23:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:631:49:   required from ‘const Value_* tatami::DelayedBind<margin_, Value_, Index_>::DensePerpendicularExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; int margin_ = 0; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:630:23:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; bool sparse_ = false; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; bool sparse_ = false; int margin_ = 0; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:631:49:   required from ‘const Value_* tatami::DelayedBind<margin_, Value_, Index_>::DensePerpendicularExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; int margin_ = 0; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:630:23:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = true; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = true; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:642:49:   required from ‘tatami::SparseRange<Value_, Index_> tatami::DelayedBind<margin_, Value_, Index_>::SparsePerpendicularExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; int margin_ = 1; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:641:37:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = true; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = true; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:642:49:   required from ‘tatami::SparseRange<Value_, Index_> tatami::DelayedBind<margin_, Value_, Index_>::SparsePerpendicularExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; int margin_ = 1; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:641:37:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; bool sparse_ = true; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; bool sparse_ = true; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:642:49:   required from ‘tatami::SparseRange<Value_, Index_> tatami::DelayedBind<margin_, Value_, Index_>::SparsePerpendicularExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; int margin_ = 1; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:641:37:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:631:49:   required from ‘const Value_* tatami::DelayedBind<margin_, Value_, Index_>::DensePerpendicularExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; int margin_ = 1; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:630:23:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:631:49:   required from ‘const Value_* tatami::DelayedBind<margin_, Value_, Index_>::DensePerpendicularExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; int margin_ = 1; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:630:23:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp: In instantiation of ‘static void tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t, size_t&, const std::vector<Index_>&) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; bool sparse_ = false; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’:
../inst/include/tatami/base/other/DelayedBind.hpp:521:27:   required from ‘size_t tatami::DelayedBind<margin_, Value_, Index_>::PerpendicularExtractor<selection_, sparse_>::choose_segment(size_t) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; bool sparse_ = false; int margin_ = 1; Value_ = double; Index_ = int; size_t = long unsigned int]’
../inst/include/tatami/base/other/DelayedBind.hpp:631:49:   required from ‘const Value_* tatami::DelayedBind<margin_, Value_, Index_>::DensePerpendicularExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::FULL; int margin_ = 1; Value_ = double; Index_ = int]’
../inst/include/tatami/base/other/DelayedBind.hpp:630:23:   required from here
../inst/include/tatami/base/other/DelayedBind.hpp:503:42: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  503 |             if (cumulative[last_segment] > i) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/tatami/base/other/DelayedBind.hpp:504:66: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  504 |                 if (last_segment && cumulative[last_segment - 1] <= i) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:509:53: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  509 |             } else if (cumulative[last_segment + 1] <= i) {
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../inst/include/tatami/base/other/DelayedBind.hpp:510:90: warning: comparison of integer expressions of different signedness: ‘const __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘const int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  510 |                 if (last_segment + 2 < cumulative.size() && cumulative[last_segment + 2] > i) {
      |                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
g++ -std=gnu++17 -I"/home/hpages/bbs-3.18-bioc/R/include" -DNDEBUG -I../inst/include -I'/home/hpages/bbs-3.18-bioc/R/site-library/Rcpp/include' -I/usr/local/include    -fpic  -g -O2  -Wall -c dense_matrix.cpp -o dense_matrix.o
g++ -std=gnu++17 -I"/home/hpages/bbs-3.18-bioc/R/include" -DNDEBUG -I../inst/include -I'/home/hpages/bbs-3.18-bioc/R/site-library/Rcpp/include' -I/usr/local/include    -fpic  -g -O2  -Wall -c fragment_sparse_rows.cpp -o fragment_sparse_rows.o
g++ -std=gnu++17 -I"/home/hpages/bbs-3.18-bioc/R/include" -DNDEBUG -I../inst/include -I'/home/hpages/bbs-3.18-bioc/R/site-library/Rcpp/include' -I/usr/local/include    -fpic  -g -O2  -Wall -c sparse_matrix.cpp -o sparse_matrix.o
In file included from ../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:6,
                 from ../inst/include/tatami/tatami.hpp:6,
                 from ../inst/include/tatami_r/UnknownMatrix.hpp:5,
                 from ../inst/include/tatami_r/tatami_r.hpp:4,
                 from ../inst/include/Rtatami.h:8,
                 from sparse_matrix.cpp:1:
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:685:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(Index_, Index_, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:684:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:689:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(std::vector<Index_>, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:688:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:697:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(Index_, Index_, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:696:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:701:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(std::vector<Index_>, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:700:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:685:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(Index_, Index_, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:684:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:689:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(std::vector<Index_>, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:688:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:697:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(Index_, Index_, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:696:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:701:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(std::vector<Index_>, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:700:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::RawStore; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::ExpandedStoreIndexed; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::RawStore; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, tatami::ArrayView<int>, tatami::ArrayView<int> >::ExpandedStoreIndexed; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::RawStore; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::ExpandedStoreIndexed; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::RawStore; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, tatami::ArrayView<int>, tatami::ArrayView<int> >::ExpandedStoreIndexed; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = tatami::ArrayView<int>; PointerStorage_ = tatami::ArrayView<int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
g++ -std=gnu++17 -I"/home/hpages/bbs-3.18-bioc/R/include" -DNDEBUG -I../inst/include -I'/home/hpages/bbs-3.18-bioc/R/site-library/Rcpp/include' -I/usr/local/include    -fpic  -g -O2  -Wall -c tatami_utils.cpp -o tatami_utils.o
In file included from ../inst/include/tatami/tatami.hpp:31,
                 from ../inst/include/tatami_r/UnknownMatrix.hpp:5,
                 from ../inst/include/tatami_r/tatami_r.hpp:4,
                 from ../inst/include/Rtatami.h:8,
                 from tatami_utils.cpp:1:
../inst/include/tatami/stats/sums.hpp: In instantiation of ‘std::vector<T> tatami::stats::dimension_sums(const tatami::Matrix<Value_, Index_>*, int) [with Output_ = double; bool row_ = true; Value_ = double; Index_ = int]’:
../inst/include/tatami/stats/sums.hpp:118:48:   required from ‘std::vector<T> tatami::row_sums(const Matrix<Value_, Index_>*, int) [with Output_ = double; Value_ = double; Index_ = int]’
tatami_utils.cpp:34:31:   required from here
../inst/include/tatami/stats/sums.hpp:45:22: warning: unused variable ‘len’ [-Wunused-variable]
   45 |                 auto len = ext->block_length;
      |                      ^~~
../inst/include/tatami/stats/sums.hpp: In instantiation of ‘std::vector<T> tatami::stats::dimension_sums(const tatami::Matrix<Value_, Index_>*, int) [with Output_ = double; bool row_ = false; Value_ = double; Index_ = int]’:
../inst/include/tatami/stats/sums.hpp:103:49:   required from ‘std::vector<T> tatami::column_sums(const Matrix<Value_, Index_>*, int) [with Output_ = double; Value_ = double; Index_ = int]’
tatami_utils.cpp:41:34:   required from here
../inst/include/tatami/stats/sums.hpp:45:22: warning: unused variable ‘len’ [-Wunused-variable]
g++ -std=gnu++17 -I"/home/hpages/bbs-3.18-bioc/R/include" -DNDEBUG -I../inst/include -I'/home/hpages/bbs-3.18-bioc/R/site-library/Rcpp/include' -I/usr/local/include    -fpic  -g -O2  -Wall -c unknown_matrix.cpp -o unknown_matrix.o
In file included from ../inst/include/tatami_r/tatami_r.hpp:4,
                 from ../inst/include/Rtatami.h:8,
                 from unknown_matrix.cpp:1:
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘tatami_r::UnknownMatrix<Value_, Index_>::UnknownMatrix(Rcpp::RObject, size_t) [with Value_ = double; Index_ = int; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>; size_t = long unsigned int]’:
unknown_matrix.cpp:9:69:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:96:24: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
   96 |         if (cache_size == -1) {
      |             ~~~~~~~~~~~^~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’:
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:548:42: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  548 |                     for (size_t i = 0; i < output.number; ++i) {
      |                                        ~~^~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; Value_ = double; Index_ = int]’:
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:543:42: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  543 |                     for (size_t i = 0; i < output.number; ++i) {
      |                                        ~~^~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’:
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:548:42: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  548 |                     for (size_t i = 0; i < output.number; ++i) {
      |                                        ~~^~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; Value_ = double; Index_ = int]’:
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:543:42: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  543 |                     for (size_t i = 0; i < output.number; ++i) {
      |                                        ~~^~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘Rcpp::List tatami_r::UnknownMatrix<Value_, Index_>::create_next_indices(Workspace<sparse_>*) const [with bool byrow_ = false; bool sparse_ = true; Value_ = double; Index_ = int; Rcpp::List = Rcpp::Vector<19>]’:
../inst/include/tatami_r/UnknownMatrix.hpp:424:61:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:270:41: warning: comparison of integer expressions of different signedness: ‘std::unordered_set<int>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  270 |                         if (used.size() == work->max_block_size_in_chunks) {
      |                             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp:277:39: warning: comparison of integer expressions of different signedness: ‘std::unordered_map<int, int>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  277 |                 } else if (map.size() == work->max_block_size_in_elements) {
      |                            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘Rcpp::List tatami_r::UnknownMatrix<Value_, Index_>::create_next_indices(Workspace<sparse_>*) const [with bool byrow_ = true; bool sparse_ = true; Value_ = double; Index_ = int; Rcpp::List = Rcpp::Vector<19>]’:
../inst/include/tatami_r/UnknownMatrix.hpp:424:61:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = true; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:270:41: warning: comparison of integer expressions of different signedness: ‘std::unordered_set<int>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  270 |                         if (used.size() == work->max_block_size_in_chunks) {
      |                             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp:277:39: warning: comparison of integer expressions of different signedness: ‘std::unordered_map<int, int>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  277 |                 } else if (map.size() == work->max_block_size_in_elements) {
      |                            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘Rcpp::List tatami_r::UnknownMatrix<Value_, Index_>::create_next_indices(Workspace<sparse_>*) const [with bool byrow_ = false; bool sparse_ = false; Value_ = double; Index_ = int; Rcpp::List = Rcpp::Vector<19>]’:
../inst/include/tatami_r/UnknownMatrix.hpp:367:61:   required from ‘const Value_* tatami_r::UnknownMatrix<Value_, Index_>::run_dense_extractor(Index_, Value_*, const tatami::Options&, Workspace<false>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:523:70:   required from ‘const Value_* tatami_r::UnknownMatrix<Value_, Index_>::DenseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:522:23:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:270:41: warning: comparison of integer expressions of different signedness: ‘std::unordered_set<int>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  270 |                         if (used.size() == work->max_block_size_in_chunks) {
      |                             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp:277:39: warning: comparison of integer expressions of different signedness: ‘std::unordered_map<int, int>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  277 |                 } else if (map.size() == work->max_block_size_in_elements) {
      |                            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘Rcpp::List tatami_r::UnknownMatrix<Value_, Index_>::create_next_indices(Workspace<sparse_>*) const [with bool byrow_ = true; bool sparse_ = false; Value_ = double; Index_ = int; Rcpp::List = Rcpp::Vector<19>]’:
../inst/include/tatami_r/UnknownMatrix.hpp:367:61:   required from ‘const Value_* tatami_r::UnknownMatrix<Value_, Index_>::run_dense_extractor(Index_, Value_*, const tatami::Options&, Workspace<false>*) const [with bool byrow_ = true; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:523:70:   required from ‘const Value_* tatami_r::UnknownMatrix<Value_, Index_>::DenseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*) [with bool byrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:522:23:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:270:41: warning: comparison of integer expressions of different signedness: ‘std::unordered_set<int>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  270 |                         if (used.size() == work->max_block_size_in_chunks) {
      |                             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp:277:39: warning: comparison of integer expressions of different signedness: ‘std::unordered_map<int, int>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  277 |                 } else if (map.size() == work->max_block_size_in_elements) {
      |                            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘void tatami_r::UnknownMatrix<Value_, Index_>::check_buffered_dims(const tatami::Matrix<Value_, Index_>*, const Workspace<sparse_>*) const [with bool byrow_ = false; bool sparse_ = true; bool sparse_err = true; Value_ = double; Index_ = int]’:
../inst/include/tatami_r/UnknownMatrix.hpp:399:52:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = false; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<false>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:321:28: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp:321:75: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |                                                          ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘void tatami_r::UnknownMatrix<Value_, Index_>::check_buffered_dims(const tatami::Matrix<Value_, Index_>*, const Workspace<sparse_>*) const [with bool byrow_ = false; bool sparse_ = true; bool sparse_err = false; Value_ = double; Index_ = int]’:
../inst/include/tatami_r/UnknownMatrix.hpp:406:53:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = false; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<false>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:321:28: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp:321:75: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |                                                          ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘void tatami_r::UnknownMatrix<Value_, Index_>::check_buffered_dims(const tatami::Matrix<Value_, Index_>*, const Workspace<sparse_>*) const [with bool byrow_ = true; bool sparse_ = true; bool sparse_err = true; Value_ = double; Index_ = int]’:
../inst/include/tatami_r/UnknownMatrix.hpp:399:52:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = true; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<true>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = true; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:321:28: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp:321:75: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |                                                          ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘void tatami_r::UnknownMatrix<Value_, Index_>::check_buffered_dims(const tatami::Matrix<Value_, Index_>*, const Workspace<sparse_>*) const [with bool byrow_ = true; bool sparse_ = true; bool sparse_err = false; Value_ = double; Index_ = int]’:
../inst/include/tatami_r/UnknownMatrix.hpp:406:53:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = true; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<true>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = true; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:321:28: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp:321:75: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |                                                          ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘void tatami_r::UnknownMatrix<Value_, Index_>::check_buffered_dims(const tatami::Matrix<Value_, Index_>*, const Workspace<sparse_>*) const [with bool byrow_ = false; bool sparse_ = false; bool sparse_err = false; Value_ = double; Index_ = int]’:
../inst/include/tatami_r/UnknownMatrix.hpp:358:43:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_dense_extractor(Index_, const tatami::Options&, Workspace<false>*, Function_) const [with bool byrow_ = false; Function_ = tatami_r::UnknownMatrix<double, int>::run_dense_extractor<false>(int, double*, const tatami::Options&, Workspace<false>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<false>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:366:44:   required from ‘const Value_* tatami_r::UnknownMatrix<Value_, Index_>::run_dense_extractor(Index_, Value_*, const tatami::Options&, Workspace<false>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:523:70:   required from ‘const Value_* tatami_r::UnknownMatrix<Value_, Index_>::DenseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:522:23:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:321:28: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp:321:75: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |                                                          ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp: In instantiation of ‘void tatami_r::UnknownMatrix<Value_, Index_>::check_buffered_dims(const tatami::Matrix<Value_, Index_>*, const Workspace<sparse_>*) const [with bool byrow_ = true; bool sparse_ = false; bool sparse_err = false; Value_ = double; Index_ = int]’:
../inst/include/tatami_r/UnknownMatrix.hpp:358:43:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_dense_extractor(Index_, const tatami::Options&, Workspace<false>*, Function_) const [with bool byrow_ = true; Function_ = tatami_r::UnknownMatrix<double, int>::run_dense_extractor<true>(int, double*, const tatami::Options&, Workspace<false>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<false>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:366:44:   required from ‘const Value_* tatami_r::UnknownMatrix<Value_, Index_>::run_dense_extractor(Index_, Value_*, const tatami::Options&, Workspace<false>*) const [with bool byrow_ = true; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:523:70:   required from ‘const Value_* tatami_r::UnknownMatrix<Value_, Index_>::DenseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*) [with bool byrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:522:23:   required from here
../inst/include/tatami_r/UnknownMatrix.hpp:321:28: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami_r/UnknownMatrix.hpp:321:75: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
  321 |         if (parsed_primary != work->primary_block_len || parsed_secondary != work->secondary_len) {
      |                                                          ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from ../inst/include/tatami_r/UnknownMatrix.hpp:7:
../inst/include/tatami_r/SparseArraySeed.hpp: In instantiation of ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed_internal(Rcpp::RObject, InputObject_, bool) [with Data_ = double; Index_ = int; InputObject_ = Rcpp::Vector<14, Rcpp::PreserveStorage>; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’:
../inst/include/tatami_r/SparseArraySeed.hpp:190:63:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed(Rcpp::RObject, bool) [with Data_ = double; Index_ = int; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/UnknownMatrix.hpp:398:64:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = false; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<false>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/SparseArraySeed.hpp:23:13: warning: comparison of integer expressions of different signedness: ‘const size_t’ {aka ‘const long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
   23 |     if (nnz != val.size()) {
      |         ~~~~^~~~~~~~~~~~~
../inst/include/tatami_r/SparseArraySeed.hpp: In instantiation of ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed_internal(Rcpp::RObject, InputObject_, bool) [with Data_ = double; Index_ = int; InputObject_ = Rcpp::Vector<13>; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’:
../inst/include/tatami_r/SparseArraySeed.hpp:192:63:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed(Rcpp::RObject, bool) [with Data_ = double; Index_ = int; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/UnknownMatrix.hpp:398:64:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = false; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<false>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/SparseArraySeed.hpp:23:13: warning: comparison of integer expressions of different signedness: ‘const size_t’ {aka ‘const long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
../inst/include/tatami_r/SparseArraySeed.hpp: In instantiation of ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed_internal(Rcpp::RObject, InputObject_, bool) [with Data_ = double; Index_ = int; InputObject_ = Rcpp::Vector<10, Rcpp::PreserveStorage>; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’:
../inst/include/tatami_r/SparseArraySeed.hpp:194:63:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed(Rcpp::RObject, bool) [with Data_ = double; Index_ = int; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/UnknownMatrix.hpp:398:64:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = false; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<false>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami_r/SparseArraySeed.hpp:23:13: warning: comparison of integer expressions of different signedness: ‘const size_t’ {aka ‘const long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
In file included from ../inst/include/tatami/tatami.hpp:18,
                 from ../inst/include/tatami_r/UnknownMatrix.hpp:5:
../inst/include/tatami/utils/compress_sparse_triplets.hpp: In instantiation of ‘std::vector<long unsigned int> tatami::compress_sparse_triplets(size_t, size_t, U&, V&, W&) [with bool ROW = true; U = std::vector<double>; V = std::vector<int>; W = std::vector<int>; size_t = long unsigned int]’:
../inst/include/tatami_r/SparseArraySeed.hpp:154:60:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed_internal(Rcpp::RObject, InputObject_, bool) [with Data_ = double; Index_ = int; InputObject_ = Rcpp::Vector<14, Rcpp::PreserveStorage>; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/SparseArraySeed.hpp:190:63:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed(Rcpp::RObject, bool) [with Data_ = double; Index_ = int; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/UnknownMatrix.hpp:398:64:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = false; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<false>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami/utils/compress_sparse_triplets.hpp:127:28: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits<std::allocator<long unsigned int>, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  127 |             if (indices[i] == -1) {
../inst/include/tatami/utils/compress_sparse_triplets.hpp: In instantiation of ‘std::vector<long unsigned int> tatami::compress_sparse_triplets(size_t, size_t, U&, V&, W&) [with bool ROW = false; U = std::vector<double>; V = std::vector<int>; W = std::vector<int>; size_t = long unsigned int]’:
../inst/include/tatami_r/SparseArraySeed.hpp:167:61:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed_internal(Rcpp::RObject, InputObject_, bool) [with Data_ = double; Index_ = int; InputObject_ = Rcpp::Vector<14, Rcpp::PreserveStorage>; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/SparseArraySeed.hpp:190:63:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed(Rcpp::RObject, bool) [with Data_ = double; Index_ = int; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/UnknownMatrix.hpp:398:64:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = false; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<false>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami/utils/compress_sparse_triplets.hpp:127:28: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits<std::allocator<long unsigned int>, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
../inst/include/tatami/utils/compress_sparse_triplets.hpp: In instantiation of ‘std::vector<long unsigned int> tatami::compress_sparse_triplets(size_t, size_t, U&, V&, W&) [with bool ROW = true; U = std::vector<int>; V = std::vector<int>; W = std::vector<int>; size_t = long unsigned int]’:
../inst/include/tatami_r/SparseArraySeed.hpp:154:60:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed_internal(Rcpp::RObject, InputObject_, bool) [with Data_ = double; Index_ = int; InputObject_ = Rcpp::Vector<13>; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/SparseArraySeed.hpp:192:63:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed(Rcpp::RObject, bool) [with Data_ = double; Index_ = int; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/UnknownMatrix.hpp:398:64:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = false; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<false>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami/utils/compress_sparse_triplets.hpp:127:28: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits<std::allocator<long unsigned int>, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
../inst/include/tatami/utils/compress_sparse_triplets.hpp: In instantiation of ‘std::vector<long unsigned int> tatami::compress_sparse_triplets(size_t, size_t, U&, V&, W&) [with bool ROW = false; U = std::vector<int>; V = std::vector<int>; W = std::vector<int>; size_t = long unsigned int]’:
../inst/include/tatami_r/SparseArraySeed.hpp:167:61:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed_internal(Rcpp::RObject, InputObject_, bool) [with Data_ = double; Index_ = int; InputObject_ = Rcpp::Vector<13>; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/SparseArraySeed.hpp:192:63:   required from ‘tatami_r::Parsed<Data_, Index_> tatami_r::parse_SparseArraySeed(Rcpp::RObject, bool) [with Data_ = double; Index_ = int; Rcpp::RObject = Rcpp::RObject_Impl<Rcpp::PreserveStorage>]’
../inst/include/tatami_r/UnknownMatrix.hpp:398:64:   required from ‘void tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, const tatami::Options&, Workspace<true>*, Function_) const [with bool byrow_ = false; Function_ = tatami_r::UnknownMatrix<double, int>::run_sparse_extractor<false>(int, double*, int*, const tatami::Options&, Workspace<true>*) const::<lambda(int, tatami_r::UnknownMatrix<double, int>::Workspace<true>*)>; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:423:45:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::run_sparse_extractor(Index_, Value_*, Index_*, const tatami::Options&, Workspace<true>*) const [with bool byrow_ = false; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:538:78:   required from ‘tatami::SparseRange<Value_, Index_> tatami_r::UnknownMatrix<Value_, Index_>::SparseUnknownExtractor<byrow_, selection_>::fetch(Index_, Value_*, Index_*) [with bool byrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; Value_ = double; Index_ = int]’
../inst/include/tatami_r/UnknownMatrix.hpp:537:45:   required from here
../inst/include/tatami/utils/compress_sparse_triplets.hpp:127:28: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits<std::allocator<long unsigned int>, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
In file included from ../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:6,
                 from ../inst/include/tatami/tatami.hpp:6:
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:685:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(Index_, Index_, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:684:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:689:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(std::vector<Index_>, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:688:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:697:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(Index_, Index_, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:696:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:701:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(std::vector<Index_>, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:700:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:697:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(Index_, Index_, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:696:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:701:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(std::vector<Index_>, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:700:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:685:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(Index_, Index_, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:684:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:689:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(std::vector<Index_>, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:688:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:685:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(Index_, Index_, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:684:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:689:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(std::vector<Index_>, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:688:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:697:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(Index_, Index_, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:696:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:701:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(std::vector<Index_>, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:700:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:697:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(Index_, Index_, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:696:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = false; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:701:69:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_column(std::vector<Index_>, const tatami::Options&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:700:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, Index_, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:604:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {int&, int&}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool sparse_ = false; Args_ = {int&, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:685:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(Index_, Index_, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::BLOCK, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:684:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:41:5: warning:   when initialized here [-Wreorder]
   41 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, Index_ start, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp: In instantiation of ‘tatami::CompressedSparseSecondaryExtractorBasic<Index_, StoredIndex_, CustomPointer_, CustomPointerModifier_>::CompressedSparseSecondaryExtractorBasic(StoredIndex_, const IndexStorage_&, const PointerStorage_&, const Index_*, Index_) [with IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; Index_ = int; StoredIndex_ = int; CustomPointer_ = long unsigned int; CustomPointerModifier_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:503:13:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryWorkspace::SecondaryWorkspace(Index_, const IndexStorage_&, const PointerStorage_&, Args_&& ...) [with Args_ = {int*, int&}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:606:24:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SecondaryExtractorBase<selection_, sparse_>::SecondaryExtractorBase(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:617:184:   required from ‘tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DenseSecondaryExtractor<selection_>::DenseSecondaryExtractor(const tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>*, const tatami::Options&, Args_&& ...) [with Args_ = {std::vector<int, std::allocator<int> >}; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:672:30:   required from ‘std::unique_ptr<typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::populate(const tatami::Options&, Args_&& ...) const [with bool accrow_ = true; tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool sparse_ = false; Args_ = {std::vector<int, std::allocator<int> >}; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<sparse_, tatami::SparseExtractor<selection_, Value_, Index_>, tatami::DenseExtractor<selection_, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:689:68:   required from ‘std::unique_ptr<typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::dense_row(std::vector<Index_>, const tatami::Options&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>; typename std::conditional<false, tatami::SparseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_>, tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, Value_, Index_> >::type = tatami::DenseExtractor<tatami::DimensionSelectionType::INDEX, double, int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:688:59:   required from here
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:29:31: warning: ‘tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indices’ will be initialized after [-Wreorder]
   29 |     std::vector<StoredIndex_> current_indices;
      |                               ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:17:33: warning:   ‘std::vector<long unsigned int> tatami::CompressedSparseSecondaryExtractorBasic<int, int, long unsigned int, tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::SecondaryWorkspace::Modifier>::current_indptrs’ [-Wreorder]
   17 |     std::vector<CustomPointer_> current_indptrs;
      |                                 ^~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/../../sparse/CompressedSparseSecondaryExtractorBasic.hpp:64:5: warning:   when initialized here [-Wreorder]
   64 |     CompressedSparseSecondaryExtractorBasic(StoredIndex_ mi, const IndexStorage_& idx, const PointerStorage_& idp, const Index_* subset, Index_ length) :
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::RawStore; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::ExpandedStoreIndexed; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::RawStore; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<double>, std::vector<int>, std::vector<long unsigned int> >::ExpandedStoreIndexed; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::RawStore; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::ExpandedStoreIndexed; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::RawStore; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, std::vector<double>, std::vector<int>, std::vector<long unsigned int> >::ExpandedStoreIndexed; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<double>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::RawStore; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::ExpandedStoreIndexed; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::RawStore; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, tatami::ArrayView<int>, std::vector<int>, std::vector<long unsigned int> >::ExpandedStoreIndexed; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = tatami::ArrayView<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::RawStore; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<true, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::ExpandedStoreIndexed; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = true; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::RawStore; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:391:26:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:478:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘std::pair<long unsigned int, long unsigned int> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, Index_, Index_, PrimaryWorkspace&) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:244:42:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_raw(Index_, Index_, Index_, PrimaryWorkspace&, Value_*, Index_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:476:59:   required from ‘tatami::SparseRange<Value_, Index_> tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::SparsePrimaryExtractor<selection_>::fetch(Index_, Value_*, Index_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::BLOCK; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:465:37:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:217:27: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  217 |             if (val.first != -1) {
      |                 ~~~~~~~~~~^~~~~
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp: In instantiation of ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension(Index_, const Index_*, Index_, PrimaryWorkspace&, Store_&) const [with Store_ = tatami::CompressedSparseMatrix<false, double, int, std::vector<int>, std::vector<int>, std::vector<long unsigned int> >::ExpandedStoreIndexed; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’:
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:415:26:   required from ‘void tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::primary_dimension_expanded(Index_, const Index_*, Index_, PrimaryWorkspace&, Value_*) const [with bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:454:57:   required from ‘const Value_* tatami::CompressedSparseMatrix<row_, Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_>::DensePrimaryExtractor<selection_>::fetch(Index_, Value_*) [with tatami::DimensionSelectionType selection_ = tatami::DimensionSelectionType::INDEX; bool row_ = false; Value_ = double; Index_ = int; ValueStorage_ = std::vector<int>; IndexStorage_ = std::vector<int>; PointerStorage_ = std::vector<long unsigned int>]’
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:448:23:   required from here
../inst/include/tatami/base/sparse/CompressedSparseMatrix.hpp:309:42: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]
  309 |                 if (work.cached[i].first != -1) { // retrieving the jump from cache, if we came here before.
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~
g++ -std=gnu++17 -shared -L/usr/local/lib -o beachmat.so RcppExports.o delayed_ops.o dense_matrix.o fragment_sparse_rows.o sparse_matrix.o tatami_utils.o unknown_matrix.o
installing to /home/hpages/bbs-3.18-bioc-testing/Rlibs/00LOCK-beachmat/00new/beachmat/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (beachmat)