indexed(histogram) not usable with ranges
まだ誰も着手していません。
評価
調査の方向性
まず、提供された C++20 の例をコンパイルし、std::ranges::subrange と std::views::transform を使った indexed(hist) に注目してください。これらの失敗を、動作する直接的なヒストグラムのケースと比較してください。完了条件は、indexed(hist) をレポートに示された両方の range 形式で利用できることです。
索引モデルが issue の本文から書いたものです。
説明
While a boost::histogram can be used as a range in C++20, an indexed(histogram) cannot. At least for me (tested with clang++ 13 and g++ 11.3), the following code does not compile:
#include <random>
#include <ranges>
#include <iostream>
#include <boost/histogram.hpp>
int main() {
using namespace boost::histogram;
std::mt19937 rng;
std::exponential_distribution dist;
auto hist = make_histogram(axis::regular<>(20, 1, 10.0));
for (int i = 0; i < 1'000; ++i) {
hist(dist(rng));
}
// these work
auto r1 = std::ranges::subrange(hist.cbegin(), hist.cend());
auto v1 = hist | std::views::transform([] (auto&& x) {return 1;});
// these don't:
auto x = indexed(hist);
auto r2 = std::ranges::subrange(x.cbegin(), x.cend());
auto v2 = indexed(hist) | std::views::transform([] (auto&& x) {return 1;});
return 0;
}
- 主要言語
- C++
- スター
- 334
- フォーク
- 76
- 平均マージ
- 18時間 2分
- マージ済み PR(30日)
- 2
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
boostorg/histogram のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 28/100
-
Mixed scalar/array `fill` zeroes the whole histogram when a non-inclusive axis drops the first entry再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
axes should provide strong exception guarantee for metadata対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
boostorg/histogram の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
-
bug code-review testing tooling
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
aristocratos/btop#1945 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
boykopovar/AnyPS5#11291 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
k2-fsa/sherpa-onnx#4100 ·
メンテナーはふだん 2 日以内に返信