Skip to content

Commit 0dcd219

Browse files
committed
Remove const qualifier for dataset
1 parent 35975d7 commit 0dcd219

1 file changed

Lines changed: 5 additions & 8 deletions

File tree

mdio/coordinate_selector.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ inline constexpr bool is_sort_key_v = is_sort_key<std::decay_t<D>>::value;
8080
class CoordinateSelector {
8181
public:
8282
/// Construct from an existing Dataset (captures its full domain).
83-
explicit CoordinateSelector(const Dataset& dataset)
83+
explicit CoordinateSelector(Dataset& dataset)
8484
: dataset_(dataset), base_domain_(dataset.domain) {}
8585

8686
template <typename OutT, typename... Ops>
@@ -117,14 +117,13 @@ class CoordinateSelector {
117117
#ifdef MDIO_INTERNAL_PROFILING
118118
auto start = std::chrono::high_resolution_clock::now();
119119
#endif
120-
auto non_const_ds = dataset_;
121120
const size_t n = kept_runs_.size();
122121

123122
// 1) Fire off all reads in parallel and gather the key values
124123
std::vector<Future<VariableData<T>>> reads;
125124
reads.reserve(n);
126125
for (auto const& desc : kept_runs_) {
127-
MDIO_ASSIGN_OR_RETURN(auto ds, non_const_ds.isel(desc));
126+
MDIO_ASSIGN_OR_RETURN(auto ds, dataset_.isel(desc));
128127
MDIO_ASSIGN_OR_RETURN(auto var, ds.variables.get<T>(sort_key));
129128
reads.push_back(var.Read());
130129
}
@@ -186,13 +185,12 @@ class CoordinateSelector {
186185
#ifdef MDIO_INTERNAL_PROFILING
187186
auto start = std::chrono::high_resolution_clock::now();
188187
#endif
189-
auto non_const_ds = dataset_;
190188
std::vector<Future<VariableData<T>>> reads;
191189
reads.reserve(kept_runs_.size());
192190
std::vector<T> ret;
193191

194192
for (const auto& desc : kept_runs_) {
195-
MDIO_ASSIGN_OR_RETURN(auto ds, non_const_ds.isel(desc));
193+
MDIO_ASSIGN_OR_RETURN(auto ds, dataset_.isel(desc));
196194
MDIO_ASSIGN_OR_RETURN(auto var, ds.variables.get<T>(output_variable));
197195
auto fut = var.Read();
198196
reads.push_back(fut);
@@ -226,7 +224,7 @@ class CoordinateSelector {
226224
}
227225

228226
private:
229-
const Dataset& dataset_;
227+
Dataset& dataset_;
230228
tensorstore::IndexDomain<> base_domain_;
231229
std::vector<std::vector<mdio::RangeDescriptor<mdio::Index>>> kept_runs_;
232230

@@ -365,12 +363,11 @@ class CoordinateSelector {
365363
// until the Intervals are no longer needed.
366364
stored_intervals.reserve(kept_runs_.size());
367365

368-
auto non_const_ds = dataset_;
369366

370367
bool is_first_run = true;
371368

372369
for (const auto& desc : kept_runs_) {
373-
MDIO_ASSIGN_OR_RETURN(auto ds, non_const_ds.isel(desc));
370+
MDIO_ASSIGN_OR_RETURN(auto ds, dataset_.isel(desc));
374371
MDIO_ASSIGN_OR_RETURN(
375372
auto var, ds.variables.get<T>(std::string(descriptor.label.label())));
376373
auto fut = var.Read();

0 commit comments

Comments
 (0)