Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C++20] 名前付き要件の取り扱い #779

Closed
tetsurom opened this issue Jul 1, 2020 · 16 comments
Closed

[C++20] 名前付き要件の取り扱い #779

tetsurom opened this issue Jul 1, 2020 · 16 comments
Assignees

Comments

@tetsurom
Copy link
Contributor

tetsurom commented Jul 1, 2020

現状では、conceptsヘッダーのページ

そのうちどこかに移動するページ

として名前付き要件がまとめられているように、名前付き要件をコンセプトとして扱っています。
しかし、新しく要件のページを作成しようとしたときに少々混乱するのではないかと思います。
(実際、Formatterの単独のページを作るか悩んでしまいました)

C++20で本物のコンセプトが導入されるので、名前付き要件の取り扱いを再考する良い機会ではないでしょうか。

  • カテゴリーを追加する?
  • ヘッダーに属しているのはおかしいので、名前付き要件だけをまとめたページを作成する?
  • 属性のように、言語機能として扱う?
@faithandbrave
Copy link
Member

expositional concept (説明用コンセプト) とかのカテゴリを追加しましょうか?typoしそうなのでpseudo conceptとかでも。

広範囲に使用されるコンセプトなら、headerの代わりにcategoryみたいな区分を用意して内部的な扱いはheaderと同じにする、という感じでしょうか。

@onihusube
Copy link
Member

名前付き要件はコンセプトほど厳密なものではないので、conceptって入ってると誤解を招くかなあと思います。

同じ理由から、Cpp17~のように広域で使用される名前付き要件はヘッダページのように(<concepts>の外で)一纏めにしたいです。

@tetsurom
Copy link
Contributor Author

tetsurom commented Jul 1, 2020

そのまま named requirement だとわかりにくいでしょうか?

同じにしろ、という意図ではありませんが、こういうページはあるといいかもしれません。
https://ja.cppreference.com/w/cpp/named_req

@faithandbrave
Copy link
Member

では、こんな感じですかね。

  • conceptと同等の識別子カテゴリとしてnamed requirementを追加。
  • headerと同等の識別子カテゴリとしてcategoryを追加。

@faithandbrave
Copy link
Member

@tetsurom
named requirementの雛形ページを作ってもらってもいいでしょうか?
規格にある全ての名前付き要件をカバーできなくてもいいですが、たたき台になるものがあると助かります。

@faithandbrave
Copy link
Member

named requirementはちゃんと動いてるっぽいです。
https://cpprefjp.github.io/editors_doc/named_requirement_template_page.html

@faithandbrave
Copy link
Member

あとで<node_handle>[meta category]にしてみます。

@yumetodo
Copy link
Member

yumetodo commented Jul 3, 2020

https://cpprefjp.github.io/editors_doc/specialized.html
への追記が忘れてると思います。これ以外にも最近concept周りで追加したのも(なんでしたっけ)入っていない気がします。

@faithandbrave
Copy link
Member

category対応が不十分で、サイドバーが一時的に壊れています。修正中です。

@faithandbrave
Copy link
Member

まだダメっぽい…わからん

@faithandbrave
Copy link
Member

node_handleを一旦headerに戻しました。ローカルでもうちょっとやってみます。

@faithandbrave
Copy link
Member

Boostのリリースノートも書かないといけないので、ちょっとすぐには対応できないかもしれません。なるべく早くそちらを片付けます。

@faithandbrave
Copy link
Member

cpprefjpをローカルで、やっとサイドバーが動かなくなるとこまで動かせたので、バグ調査していきます。
crsearchがnpm moduleになっているのがとても使いにくい。

@yumetodo
Copy link
Member

yumetodo commented Jul 9, 2020

npm moduleになっていることが障害になるようなことに遭遇したことがないのですが、どういう状況でしょうか?
単にnode_modules/crsearch以下のファイルを一度git cloneしたものに置換してそこでnpm run devすれば最適化されてない状態で見れると思うのですが

@faithandbrave
Copy link
Member

https://cpprefjp.github.io/reference/node_handle/node_handle.html
https://cpprefjp.github.io/reference/concepts/Callable.html

@nyaocat さんに見てもらって、categoryとnamed requirementが問題なく動作しました。
あとは編集者向けドキュメントを更新して終了しようと思います。

@faithandbrave
Copy link
Member

時間がかかってしまってすいませんでしたが、なんとか対応おわりましたのでクローズします。
まだ問題があったら教えてください。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants