NVIDIA / NVIDIA/cudf

[FEA] Add overload for `set_null_mask` that accept result of `make_null_mask` directly

Open
#13,154 1 comment 0 reactions 1 assignee Claimed by @davidwendt View on GitHub
0 - Backlog feature request good first issue libcudf
Dominant language
C++
Stars
9.8k
Forks
1.1k
Avg merge
3d 6m
Merged PRs (30d)
278

Description

Currently, we have the `make_null_mask` API returning both null mask and null count:
```
template
std::pair make_null_mask(ValidityIterator begin,
ValidityIterator end)
```

However, the `set_null_mask` function can't accept that result. As such, we have to pass the result of `make_null_mask` into `set_null_mask` by two steps:
```
auto [null_mask, null_count] =
cudf::test::detail::make_null_mask(valid_iter, valid_iter + input.size());
output.set_null_mask(std::move(null_mask), null_count);
```

This is a bit inconvenient. We can do that in just one step like this:
```
output.set_null_mask(cudf::test::detail::make_null_mask(valid_iter, valid_iter + input.size()));
```

In order to do that, we need to have a new overload of `set_null_mask` that accept the return type of `make_null_mask` such as:
```
void set_null_mask(std::pair&&) { ... }
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.