tomolatoon

Results 9 comments of tomolatoon

ひとまずお知らせしておきたいのは、nlohmann/json の最近のアップデートで custom base class が追加されたことです。これを使うことで、nlohmann::basic_json のそれぞれのノードの基底クラスを注入可能になるので、それを上手く使ってなんとか出来ないかと考える方針が良いかと思います。 https://json.nlohmann.me/api/basic_json/json_base_class_t/ - 案1. 基底クラスをユーザーに使ってもらう - ある程度トリッキーな実装が必要で、しっかりとした実装が出来るかは不明 - 独自 API を完全に導入することが出来る - 案2. 基底クラスを注入した`nlohmann::basic_json`をユーザーに使ってもらう - `nlohmann::basic_json`で定義されているメンバ関数はオーバーライドされてしまう - そうすると、例えば`operator[]`で`s3d::String`が使えなくなってしまう... - その点を除けば他の部分の実装は単純・簡単 - 今までにやっていた作業はこちらにおいておきました - https://gist.github.com/tomolatoon/db219d078b9cd83a51ab14d4c2358312

こちらも #1063 と同時に進行させないと面倒なことになることに気づいたので引き受けます。

`pair-like`についての相談です。 `pair-like`は、C++20時点においては`[range.subrange]`で定義されていたのですが、現行のドラフトでは`tuple-like`の追加に伴い、定義が変更された上で`[tuple.syn]`へと定義が移動されました。そのため、次の問題が生じました。 - ``の表の記載について、C++20 としては``記載になるが、C++23 としては``記載にする必要がある - 同様のことから、C++20 としては`pair-like.md`を`/reference/ranges`に置きたいが、C++23 としては`/reference/tuple`に置きたい そこで相談なのですが、``の表への記載と、`pair-like`独自ページのファイルシステム上での配置はどうすればいいでしょうか。よろしくお願いします。

> 互換性を気にせず書く場所を決めちゃってよい 了解しました。最新の状態に合わせ、表での位置とファイルの場所は変えていく形で作業しようと思います。 > その場合はなにか懸念があるでしょうか? C++20 時点での規格書と合わなくなることと、内容が変わらずに名称だけ変更されている事例が別にあったので、C++20 の規格書を読むときのリファレンスとしては若干使いにくくなる程度です。ただ、サイト内検索や Google 検索で補えるはずなので、問題は無いと思いますので、先述の通り作業したいと思います。

再び質問です。 `tuple-like`なオブジェクト同士の`basic_common_reference`や`operator`などのユーティリティはどのようなファイル配置とページ記載にすれば良いでしょうか。特定のクラスに紐づくものではないので、どうすればいいか迷っています。 (一応ですが、思いついたものとしては、`/reference/tuple/tuple-like/`以下にファイルを用意して、``のページで「`tuple-like`なオブジェクトのユーティリティ」などと見出しを用意してリンクを貼る、というのがあります。)

よかった...ありがとうございます! その辺りのルールあるいは書き方というのも纏まっているとありがたいですね...

ディスパッチで返り値を変えるようにしてみました ```cpp void Main() { Interval interval{0.001}; while (System::Update()) { // .update(Interval::Count) と同じ // 返り値は、何回発火したかの値 for (auto&& c : step(interval.update())) { Print

`vector::reference/tuple/pair`の辺りは時間があれば出来そうです。

`tuple`について見ていたのですが、コンストラクタで番号振りをどうすればいいかはっきりとはわからなかったので、質問させて下さい。 - P2321R2 通りの位置に配置することを優先 - 番号振り直すことになるので番号に関して一応破壊的変更になってしまう - 番号の変更を回避することを優先 - P2321R2 とは異なり一番最後に配置することになってしまう どちらがいいですか?