Giter Site home page Giter Site logo

site's Introduction

site

detect forbidden characters inner link check code qualify check ngword check meta header check outer link check build

このリポジトリは、C++リファレンスサイトcpprefjpのMarkdownソースです。

このリポジトリにあるMarkdownファイルを編集することで、cpprefjpサイトに自動的に反映されます。

cpprefjpへのコントリビュート方法や各ファイル編集方法については、以下のドキュメントを参照してください。

cpprefjpは、以下のコアメンバが運営を行っています。

cpprefjpでは、C++の最新バージョンに随時対応しています。

各種ツールの使用方法

内部リンクのチェック

Python 3系をインストールした状態で、以下を実行する:

pip3 install requests
python3 .github/workflows/script/link_check.py --check-inner-link

site's People

Contributors

acd1034 avatar agate-pris avatar akinomyoga avatar alphya avatar e-kwsm avatar egtra avatar faithandbrave avatar h-sao avatar hotwatermorning avatar k-satoda avatar kariya-mitsuru avatar katsuster avatar kenichiice avatar melpon avatar nekko1119 avatar onihusube avatar oniprog avatar pea-sys avatar saki7 avatar suomesta avatar tetsurom avatar tonimaru avatar toruniina avatar tshino avatar usagi avatar wx257osn2 avatar yknishidate avatar yohhoy avatar yukimiyatake avatar yumetodo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

site's Issues

unordered_map : イテレータ

<unordered_map> ヘッダのタスクです。
unordered_map のイテレータに関する以下のメンバ関数のリファレンスを作成お願いします。

  • begin
  • end
  • cbegin
  • cend

[task] <set>をsetとmultisetで分ける

#22 [task] <map>mapmultimapで分ける」

上記チケットと同様に、<set>ヘッダのリファレンスを、std::setstd::multiset両方を扱う階層形式に直します。

unordered_multimap : 領域

<unordered_map> ヘッダのタスクです。
unordered_multimap の領域に関する以下のメンバ関数のリファレンスを作成お願いします。

  • empty
  • size
  • max_size

list : リスト操作とアロケータ

<list>ヘッダのタスクです。以下のメンバ関数のリファレンスを作成お願いします。

リスト操作

  • splice
  • remove
  • remove_if
  • unique
  • merge
  • sort
  • reverse

アロケータ

  • get_allocator

Update Error: 5fac626b1d9bbc14a7f6d76e0cbdfb7a6dab8cc4

自動更新に失敗しました。

以下の『ファイル』を更新し、『チェックサイト』のページを開いてもエラーが出ないことを確認して下さい。

ファイル チェックサイト
/reference/string.md check_site
/reference/string/char_traits.md check_site
/reference/string/basic_string.md check_site
/reference/string/basic_string/clear.md check_site
/reference/string/basic_string/op_assign.md check_site
/reference/string/basic_string/size.md check_site
/reference/string/basic_string/at.md check_site
/reference/string/basic_string/empty.md check_site
/reference/string/basic_string/resize.md check_site
/reference/string/basic_string/op_at.md check_site
/reference/string/basic_string/end.md check_site
/reference/string/basic_string/reserve.md check_site
/reference/string/basic_string/max_size.md check_site
/reference/string/basic_string/back.md check_site
/reference/string/basic_string/capacity.md check_site
/reference/string/basic_string/begin.md check_site
/reference/string/basic_string/rbegin.md check_site
/reference/string/basic_string/basic_string.md check_site
/reference/string/basic_string/rend.md check_site
/reference/string/basic_string/front.md check_site
/reference/string/basic_string/find.md check_site
/third_party_library.md check_site
/dictionary.md check_site
/article/msvc-locales.md check_site
/article/at_thread_exit.md check_site
/working_style.md check_site
/article.md check_site
/implementation.md check_site

次の自動実行は [2013-05-31 14:57:10+0900] に行われます。

---- Closed by andare ----
修正が確認されたので Close します。

unordered_map : バケットインタフェース

<unordered_map> ヘッダのタスクです。
unordered_map のバケットインタフェースに関する以下のメンバ関数のリファレンスを作成お願いします。

  • bucket_count
  • max_bucket_count
  • bucket_size
  • bucket
  • begin(size_type)
  • end(size_type)
  • cbegin(size_type)
  • cend(size_type)

is_functionのサンプルコードが、Clangで警告が出る。

#include <type_traits>

typedef void f();

static_assert(std::is_function<f>::value == true, "value == true, f is function");
static_assert(std::is_same<std::is_function<f>::value_type, bool>::value, "value_type == bool");
static_assert(std::is_same<std::is_function<f>::type, std::true_type>::value, "type == true_type");
static_assert(std::is_function<f>() == true, "is_function<f>() == true");

static_assert(std::is_function<int>::value == false, "value == false, int is not function");
static_assert(std::is_same<std::is_function<int>::value_type, bool>::value, "value_type == bool");
static_assert(std::is_same<std::is_function<int>::type, std::false_type>::value, "type == false_type");
static_assert(std::is_function<int>() == false, "is_function<int>() == false");

static_assert(std::is_function<const f>::value == true, "const f is function");
static_assert(std::is_function<volatile f>::value == true, "volatile f is function");
static_assert(std::is_function<const volatile f>::value == true, "const volatile f is function");

static_assert(std::is_function<f*>::value == false, "f* is not function");
static_assert(std::is_function<f&>::value == false, "f& is not function");
static_assert(std::is_function<f&&>::value == false, "f&& is not function");

int main(){}

Clang 3.3でのコンパイル結果:

prog.cc:15:32: warning: qualifier on function type 'f' (aka 'void ()') has unspecified behavior
static_assert(std::is_function<const f>::value == true, "const f is function");
                               ^~~~~~~
prog.cc:16:32: warning: qualifier on function type 'f' (aka 'void ()') has unspecified behavior
static_assert(std::is_function<volatile f>::value == true, "volatile f is function");
                               ^~~~~~~~~~
prog.cc:17:32: warning: qualifier on function type 'f' (aka 'void ()') has unspecified behavior
static_assert(std::is_function<const volatile f>::value == true, "const volatile f is function");
                               ^~~~~~~~~~~~~~~~
3 warnings generated.

警告が出力されている行は以下:

static_assert(std::is_function<const f>::value == true, "const f is function");
static_assert(std::is_function<volatile f>::value == true, "volatile f is function");
static_assert(std::is_function<const volatile f>::value == true, "const volatile f is function");

関数に対してCV修飾するのは、未規定の振る舞いになる、と言ってます。

GCC 4.7では警告が出ず、コンパイルが通りました。

ボレロさんのコメント:

> 20.9.4.1 Primary type categories
> For any given type T, the result of applying one of these templates to T and to cv-qualified T shall yield the same result.
であるので、cv修飾された型も同じ結果にならなければならない。
clang の実装のバグであろう。コードは正しい。

Update Error: b685ebb584fc5699ede5a0b983aee5ec0e7d2c65

自動更新に失敗しました。

以下の『ファイル』を更新し、『チェックサイト』のページを開いてもエラーが出ないことを確認して下さい。

ファイル チェックサイト
/reference/new/bad_array_new_length.md check_site
/reference/random/mersenne_twister_engine/min.md check_site
/reference/random/mersenne_twister_engine/seed.md check_site
/reference/random/mersenne_twister_engine/op_equal.md check_site
/reference/random/mersenne_twister_engine/op_ostream.md check_site
/reference/random/mersenne_twister_engine/mersenne_twister_engine.md check_site
/reference/random/mersenne_twister_engine/op_call.md check_site
/reference/random/mersenne_twister_engine/op_not_equal.md check_site
/reference/random/mersenne_twister_engine/max.md check_site
/reference/random/mersenne_twister_engine/discard.md check_site
/reference/random/mt19937_64.md check_site
/reference/random/mersenne_twister_engine.md check_site
/reference/random/uniform_int_distribution.md check_site
/reference/random/uniform_int_distribution/min.md check_site
/reference/random/uniform_int_distribution/max.md check_site
/reference/random/uniform_real_distribution.md check_site
/reference/random/mt19937.md check_site
/reference/random/uniform_real_distribution/min.md check_site
/reference/random/uniform_real_distribution/reset.md check_site
/reference/random/uniform_real_distribution/param.md check_site
/reference/random/uniform_real_distribution/op_call.md check_site
/reference/random/uniform_real_distribution/max.md check_site
/reference/random/uniform_real_distribution/uniform_real_distribution.md check_site
/reference/random/uniform_real_distribution/a.md check_site
/reference/random/uniform_real_distribution/b.md check_site
/reference/mutex/timed_mutex/native_handle.md check_site
/reference/mutex/mutex/native_handle.md check_site
/reference/mutex/recursive_timed_mutex/native_handle.md check_site
/reference/mutex/unique_lock/op_assign.md check_site
/reference/mutex/recursive_mutex/native_handle.md check_site
/reference/random.md check_site

次の自動実行は [2013-07-19 07:27:59+0900] に行われます。

---- Closed by andare ----
修正が確認されたので Close します。

unordered_map : 検索

<unordered_map> ヘッダのタスクです。
unordered_map の検索に関する以下のメンバ関数のリファレンスを作成お願いします。

  • find
  • count
  • equal_range
  • operator[]
  • at

Update Error: 7d2897f7c50640252ebb74b21115a48595b13ff2

自動更新に失敗しました。

以下の『ファイル』を更新し、『チェックサイト』のページを開いてもエラーが出ないことを確認して下さい。

ファイル チェックサイト
/reference/initializer_list.md check_site
/reference/list/op_assign.md check_site
/reference/list/crend.md check_site
/reference/list/cend.md check_site
/reference/list/-list.md check_site
/reference/list/rend.md check_site
/reference/list/list.md check_site
/reference/list/crbegin.md check_site
/reference/list/end.md check_site
/reference/list/cbegin.md check_site
/reference/list/begin.md check_site
/reference/list/rbegin.md check_site
/reference/list/assign.md check_site
/reference/list.md check_site
/implementation-status.md check_site

次の自動実行は [2013-05-16 02:04:22+0900] に行われます。

---- Closed by andare ----
修正が確認されたので Close します。

unordered_map : コンテナの変更

<unordered_map> ヘッダのタスクです。
unordered_map のコンテナの変更に関する以下のメンバ関数のリファレンスを作成お願いします。

  • emplace
  • emplace_hint
  • insert
  • erase
  • clear
  • swap

unordered_multimap : 構築/コピー/破棄

<unordered_map> ヘッダのタスクです。
unordered_multimap の構築/コピー/破棄に関する以下のメンバ関数のリファレンスを作成お願いします。

  • コンストラクタ
  • デストラクタ
  • operator=

unordered_map : 構築/コピー/破棄

<unordered_map> ヘッダのタスクです。
unordered_map の構築/コピー/破棄に関する以下のメンバ関数のリファレンスを作成お願いします。

  • コンストラクタ
  • デストラクタ
  • operator=

<unordered_map> ヘッダの残りタスクを Issue に登録する

<unordered_map> ヘッダの残りのタスクを Issue へ登録するタスクです。

5〜10 ファイル程度で 1 Issue の粒度にすれば丁度良いかと思います。
ただ、丁度良い範囲で区切るなら、それより多くても少なくても構いません。

大体の目安としては、

  • 大きめのクラスなら、「イテレータ操作」「構築・破棄」といった分類ごとに1 Issue
  • 小さめのクラスが集まったヘッダなら、クラス単位で1 Issue

ぐらいがいいと思います。

<unordered_map> ヘッダは、C++11 の規格書上では 23.5.2 です。

基本的には unordered_map.md や、その中にあるクラスを登録していくことになります。
ただし、このリスト自体に抜けがある可能性もあるので、一通り規格書に目を通しておいて下さい。

<list> ヘッダの残りタスクを Issue に登録する

ヘッダの残りのタスクを Issue へ登録するタスクです。

5〜10 ファイル程度で 1 Issue の粒度にすれば丁度良いかと思います。
ただ、丁度良い範囲で区切るなら、それより多くても少なくても構いません。

大体の目安としては、

  • 大きめのクラスなら、「イテレータ操作」「構築・破棄」といった分類ごとに1 Issue
  • 小さめのクラスが集まったヘッダなら、クラス単位で1 Issue

ぐらいがいいと思います。

ヘッダは、C++11 の規格書上では 23.3.5 です。

基本的には list.md を登録していくことになります。
ただし、このリスト自体に抜けがある可能性もあるので、一通り規格書に目を通しておいて下さい。

<string> ヘッダの残りタスクを Issue に登録する

ヘッダの残りのタスクを Issue へ登録するタスクです。

5〜10 ファイル程度で 1 Issue の粒度にすれば丁度良いかと思います。
ただ、丁度良い範囲で区切るなら、それより多くても少なくても構いません。

大体の目安としては、

  • 大きめのクラスなら、「イテレータ操作」「構築・破棄」といった分類ごとに1 Issue
  • 小さめのクラスが集まったヘッダなら、クラス単位で1 Issue

ぐらいがいいと思います。

ヘッダは、C++11 の規格書上では 21 です。

基本的には string.md や、その中にあるクラスを登録していくことになります。
ただし、このリスト自体に抜けがある可能性もあるので、一通り規格書に目を通しておいて下さい。

seed_seq::generate の実装例が ill-formed

https://github.com/cpprefjp/site/blob/master/reference/random/seed_seq/generate.md
seed_seq::generate の【戻り値】の項で示された例が C++ コードとして ill-formed なので、
書き直してみたのですがどうでしょうか。
https://gist.github.com/bolero-MURAKAMI/7333428

具体的には:
・変数 r1, r2, r3, r4 がループ外にあるので内に
・添字が範囲を超える場合があるので modulus n に収めるように
・n と s の型が異なるとエラーになるので明示するように
・関係ない値 x が紛れ込んでいたので削除

一応 Wandbox でコンパイル通ることは確認しました。
問題ないようでしたらこれでコミットします。

乱数生成結果の図を生成する方法が知りたい

<random>ヘッダのリファレンス作成を行っています。もともとこのヘッダを担当されていたusagiさんに作っていただいた乱数生成結果の図ですが、私がこれを新たに作る場合は、どのようにすればよいでしょうか。
何らかのツールを使っているのであれば、何を使用しているのかを教えていただけますでしょうか。

unordered_map : アロケータとオブザーバー

<unordered_map> ヘッダのタスクです。
unordered_map のアロケータとオブザーバーに関する以下のメンバ関数のリファレンスを作成お願いします。

アロケータ

  • get_allocator

オブザーバー

  • hash_function
  • key_eq

time_pointのサンプルコードを標準ライブラリだけで書きたい

現在のtime_pointのサンプルコードでは、C++標準に存在しないctime_sおよびctime_rが使用されており、これをやめたいと思います。

個人的には、cpprefjpでは可能な限り標準ライブラリ以外の使用は避けるべきではないかと考えています。そこで、(若干手前味噌な感もありますが)標準ライブラリのlocaltime関数とput_timeマニピュレータで出力するコードに変更したいと思います。

特に、意見がなければ、数日中に行う予定です。ご意見等あればお聞かせください。

参考: https://github.com/cpp-pocketref/sample-code/blob/master/005_io/012_put_time.cpp

is_destructibleのサンプルコードが、Clangでコンパイルエラーになる

#include <type_traits>
#include <locale>

struct s
{
  ~s() = delete;

  // デストラクタは = delete されている。
  // そのためデストラクトできない。
};

static_assert(std::is_destructible<int>::value == true, "value == true, int is destructible");
static_assert(std::is_same<std::is_destructible<int>::value_type, bool>::value, "value_type == bool");
static_assert(std::is_same<std::is_destructible<int>::type, std::true_type>::value, "type == true_type");
static_assert(std::is_destructible<int>() == true, "is_destructible<int>() == true");

static_assert(std::is_destructible<s>::value == false, "value == false, s is not destructible");
static_assert(std::is_same<std::is_destructible<s>::value_type, bool>::value, "value_type == bool");
static_assert(std::is_same<std::is_destructible<s>::type, std::false_type>::value, "type == false_type");
static_assert(std::is_destructible<s>() == false, "is_destructible<int>() == false");

static_assert(std::is_destructible<s&>::value == true, "s& is destructible");
static_assert(std::is_destructible<s&&>::value == true, "s&& is destructible");
static_assert(std::is_destructible<const int>::value == true, "const int is destructible");
static_assert(std::is_destructible<int[1]>::value == true, "int[1] is destructible");

static_assert(std::is_destructible<int[]>::value == false, "int[] is not destructible");
static_assert(std::is_destructible<void>::value == false, "void is not destructible");
static_assert(std::is_destructible<std::locale::facet>::value == false, "std::locale::facet is not destructible");
static_assert(std::is_destructible<std::ctype<char>>::value == false, "std::ctype<char> is not destructible");

int main(){}

Clan 3.3でのコンパイル結果:

prog.cc:23:1: error: static_assert failed "s&& is destructible"
static_assert(std::is_destructible<s&&>::value == true, "s&& is destructible");
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc:27:1: error: static_assert failed "int[] is not destructible"
static_assert(std::is_destructible<int[]>::value == false, "int[] is not destructible");
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.

static_assertに失敗しています。

ボレロさんのコメント:

  static_assert(std::is_destructible<int[]>::value == false, "int[] is not destructible");
array of unknown bound が Destructible であるのはおかしい。
(おそらく)clang の実装のバグであろう。コードは正しい。

  static_assert(std::is_destructible<s&>::value == true, "s& is destructible");
  static_assert(std::is_destructible<s&&>::value == true, "s&& is destructible");
これは、GCC では両者を通し、clang は前者のみを通す。
Non-Destructible な型の参照型が Destructible であるのはおかしい。
(おそらく)GCC, clang 両方の実装のバグであろう。コードも誤っている。

list : 非メンバ関数

<list>ヘッダのタスクです。以下の関数のリファレンスを作成お願いします。

非メンバ関数

  • operator==
  • operator!=
  • operator<
  • operator<=
  • operator>
  • operator>=
  • swap

unordered_multimap : イテレータ

<unordered_map> ヘッダのタスクです。
unordered_multimap のイテレータに関する以下のメンバ関数のリファレンスを作成お願いします。

  • begin
  • end
  • cbegin
  • cend

[task] <map>をmapとmultimapで分ける

現状、<map>ヘッダのリファレンスが、std::mapのみを扱う形式になっているので、<unordered_set><unordered_map>ヘッダを参考に、std::mapstd::multimap両方を扱う階層形式に直します。

count()insert()以外のメンバ関数は挙動が同じだと思うので、基本的にはmultimapはクラスページのみを作成し、メンバ関数についてはmapのものを指すようにすればOKだと思います。

Update Error: b16f97f5c731416c0dab5e7bc9d2d2b63fb8b19c

自動更新に失敗しました。

以下の『ファイル』を更新し、『チェックサイト』のページを開いてもエラーが出ないことを確認して下さい。

ファイル チェックサイト
/article.md check_site

---- Closed by andare ----
修正が確認されたので Close します。

list : コンテナの変更

<list>ヘッダのタスクです。以下のメンバ関数のリファレンスを作成お願いします。

コンテナの変更

  • emplace_front
  • pop_front
  • emplace_back
  • push_front
  • push_back
  • pop_back
  • emplace
  • insert
  • erase
  • swap
  • clear

[現状整理] 優先度が高いものと、今後の方針

cpprefjpのリファレンス作成作業も、全52ヘッダ中27ヘッダまで完了し、だいぶ終わりが見えてきました。このあたりで、残りどんなものがあるのかと、今後の方針(予定)を考えてみようと思います。

ある程度話がまとまったところで、このチケットを私の方でクローズします。

【優先順位が高い残作業】
残作業を全部を列挙するとたいへんなので、優先順位が高そうなものを挙げます。

  • set/map
    mapの方は @oniprog さんが作ってくれていて、ひとまず完了した状態にあると考えています。
    setの方は PG_kura さんが作ってくれて、クラス概要ページを整理するくらいで完了します。

この2つはその他に、multiset、multimapに対応する作業が残っています。このタスクはチケット化してあるので、どなたか対応していただけると助かります。#22#23 です。

  • list
    listはmikiemon_hさんが作ってくれていましたが、最近停滞しています。どなたか引き継いでいただける方がいたらお願いしたいです。
    残作業は、半分くらいのメンバ関数のリファレンスです。
    これは、forward_listのリファレンスを参考にしながらやれば、比較的やりやすくなると思います。
  • string
    stringヘッダは、basic_stringクラスのリファレンスが残り半分ほど。それとstoi()関数やchar_traits等のクラスが残っています。
    basic_stringの解説自体は、日本語でも多数ドキュメントが存在しているので、それほど優先順位は高くないと考えています。なので、C++11で追加されたstoi()やto_string()あたりを優先的に対応したいですね。
  • unordered_map
    こちらは現在、 @kariya-mitsuru さんが対応してくれています。

ここまでやれば、コンテナライブラリの全リファレンスが完了します。

  • regex
    regexはGCC(libstdc++)で実装されていなかったため、リファレンス作成がなかなか進んでいませんでしたが、GCC 4.9で入りそうです。
    このライブラリのリファレンス作成に感心がある方がいない場合は、私が着手しようと考えています。しかし、私も正規表現に明るいわけではないので、どなたかやってくれる方がいればお願いしたいです。
  • functional
    functionalは残り、std::funtionクラスのリファレンスを作成すれば完了です。
  • memory
    memoryは、shared_ptrやunique_ptrのメンバ関数等、いろいろ残っています。
    GC関係のAPIは実装がない(と言っていい)ので置いておくにしても、スマートポインタやallocator関係は埋めたいですね。
  • type_traits
    現在、私が着手しています。あと1ヶ月ほどで完了する予定です。
  • その他
    complex、valarray、bitset等、優先順位はそれほど高くはないと思いますが、残っています。
  • 優先順位が高くないもの
    iostreamやlocale関係は、優先度低めでいいと考えています。
    それとC互換ライブラリは、当時の方針通り「余裕があったらやる(ないならやらない)」レベルでいいかなと思います。部分的に重要なものもあると思うので、そういうものは必要に応じて対応ということで。

【今後の方針案】
ライブラリのリファレンス作成作業にある程度区切りが着いた段階から、言語機能の簡易紹介みたいなものを、やっていきたいと考えています。C++11とC++14の機能ですね。
これは入門書のような体系的なものではなく、規格書のような詳細仕様でもない、ブログ記事のような、機能ごとの短い紹介に止めようかと考えています。

【課題】
タスクをどのように割り振ろうか、というのが課題です。
現在は、各人が興味を持っているところを、タスク管理なしに作業していますが、完成に向けて助けあっていけるような何かがほしいなーと思っています。

タスク消化状況の可視化、「大変なので手伝ってください/このタスクを引き取ってください」のようなヘルプをお願いしやすいようにする等、このあたりで何かいい案があれば教えてください。

【このチケットで話し合うことまとめ】

  • 優先順位が高いもの/高くないものの整理
    -- 「これはもっと優先順位高くていい」等の意見があれば。
  • 担当の再割り振り
    -- 「このライブラリを担当したい!」という表明があるとうれしいです。(一つのライブラリに複数人担当がいてくれていいです)
  • タスク管理の課題

ある程度話がまとまったところで、私がチケットを閉じます。
皆さんからのご意見をお待ちしています。

C++11で追加されたヘッダファイルの明示

あるヘッダファイルが「C++11で新しく追加されたものか否か」が、表記ブレなどもあり分かりづらい気がします。サイト全体で統一的な表記が必要ではないでしょうか?
(今後、C++14などで追加予定のヘッダファイルへの対応も配慮が必要かと思います。)

unordered_map : ハッシュポリシー

<unordered_map> ヘッダのタスクです。
unordered_map のハッシュポリシーに関する以下のメンバ関数のリファレンスを作成お願いします。

  • load_factor
  • max_load_factor
  • rehash
  • reserve

unordered_map : 領域

<unordered_map> ヘッダのタスクです。
unordered_map の領域に関する以下のメンバ関数のリファレンスを作成お願いします。

  • empty
  • size
  • max_size

list : 領域と要素アクセス

<list>ヘッダのタスクです。以下のメンバ関数のリファレンスを作成お願いします。

領域

  • empty
  • size
  • max_size
  • resize

要素アクセス

  • front
  • back

array::front, back の要素数ゼロの場合に対する記述が怪しい

https://sites.google.com/site/cpprefjp/reference/array/front

要素数が0の場合(N == 0の場合)、この関数は定義されない。

この記述だと「Zero sized arrays がこのメンバ関数を持たない」かのように読めます。

N3337 では

23.3.2.8 Zero sized arrays
The effect of calling front() or back() for a zero-sized array is undefined.

とあるため、
”要素数が0の場合(N == 0の場合)、この関数呼出の効果は未定義である。”
などと書くべきだと思います。

この内容で問題なければぼくが修正しておきます。

[task] メンバーページを削除する

cpprefjpをGoogle Sitesで直接編集していたころに使用していた、編集メンバ管理のためのmember.mdを削除します。
以降は、GitHubのメンバ一覧機能と、各リファレンスページのコントリビュータ一覧に任せます。

コアメンバ内で事前に議論して合意はとれているので、このチケットは単にタスク管理のために発行します。

github化に伴う編集ルールの再検討

#13 から派生して、「そもそものgithub化に伴う編集ルールの再検討をしておきましょう!」と言う事で別にIssueを発行しました。以下、 #13 から派生した主要な流れ。

@melpon
ひとまず、作業状況を削除して、wiki にも同様のページを作っておきました。

https://github.com/cpprefjp/site/blob/master/reference.md
https://github.com/cpprefjp/site/wiki/progress

(ほんとはこういうのはチケットで管理した方がいいんでしょうけど…)

@usagi
少なくともcpprefjpにページとしてあるよりは見やすく編集しやすくなったので良いと思います。チケット化についてはgithub管理化以降の計画的な取り組みについてはgithubのIssuesを使う方針にできれば良いかと思います。

typo修正やそれほど大きくない程度であればpull-reqと編集者からのレビュー(何件以上とか条件付けるかは必要なら別スレッドで議論するにしても)でmergeが良い様にも思えます。現状では事実上レビューなしで参加者なら誰でも編集、pull-reqも権限のあるメンバーが気付き次第、明らかな問題点が見当たらなければmergeしている状況ですが、githubを使って居る事でpull-reqやレビューはとてもやりやすい状態になっており、いわゆるgithub-flowの採用は参加者への負担もさほどなくcpprefjpの品質を維持しつつ多くの参加者(直接編集権の有無に関わらず)が安心して編集に参加できる良いルールとなると私は思います。

本チケットでは、「github化に伴う編集ルールの再検討」について議論する事を目的とします。

草案として @usagi からは「以降は github-flow を採用して編集を進めてはどうか」と提案致します。みなさまご意見よろしくお願いいたします。

unordered_map : 非メンバ関数

<unordered_map> ヘッダのタスクです。
unordered_map の以下の非メンバ関数のリファレンスを作成お願いします。

  • swap
  • operator==
  • operator!=

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.