cpp11 get all row values for a single column

Hi everyone!

I am writing a function with cpp11 that, ideally, uses a user provided R function to act on each column of a user provided matrix through a for loop. However, I was not able to extract the values of an entire column to use it in the user provided function. I also couldn't find how to do this after looking cpp11 documentation up.

Reproducible example:

#include <cpp11.hpp>

using namespace cpp11;
namespace writable = cpp11::writable;

sexp test_f(cpp11::doubles_matrix<> x, cpp11::function f) {
  int n = x.ncol();
  writable::doubles out(n);
  cpp11::unwind_protect([&] {
    for (int i = 0; i < n; ++i) {
      out[i] = f(x[???][i]);   // what should I use instead of ???
  return out;
f <- function(x) sum(x) # toy example
test_f(matrix(1.2:9.2, 3, 3), f)

Thanks in advance!