-
Couldn't load subscription status.
- Fork 172
cpp14
E Kawashima edited this page Mar 26, 2017
·
218 revisions
本Webサイトが提供する、ライブラリリファレンスの、C++14への対応状況です。
以下のページを参考に、対応状況の表を作りました。
| 提案文書 | 説明 | 対応状況(空 or 完了 or 対応しない) |
|---|---|---|
| N3421 | 比較関数オブジェクトのジェネリック化 | 完了 |
| N3462 |
result_ofをSFINAEフレンドリーに |
完了 |
| N3469 |
chronoのconstexpr対応 |
完了 |
| N3470 |
arrayのconstexpr対応 |
完了 |
| N3471 | ユーティリティのconstexpr対応(ムーブ関係、pair、tuple、initializer_listが対象) |
完了 |
| N3302 |
complexのconstexpr対応 |
完了 |
| N3545 |
integral_constantを改善し、関数呼び出し演算子を追加 |
完了 |
| N3644 | Null Forward Iterators | 対応しない 現状、イテレータの要件を書く場所がない |
| N3668 | std::exchange() |
完了 |
| N3658 | コンパイル時の整数シーケンス | 完了 |
| N3670 | 型を指定して、タプルの要素を取得する | 完了 |
| N3671 | 2つのシーケンス範囲を扱うアルゴリズムに、last2を受け取るオーバーロードを追加 |
完了 |
| N3656 | make_unique |
完了 |
| N3654 | 文字列のクォート修飾 | 完了 |
| N3642 |
basic_stringとdurationのリテラル |
完了 |
| N3655 | Type Traitsのエイリアステンプレート版を追加 (part 4以外) | 完了 |
| N3657 | 連想コンテナに、異種混合の比較を追加する | 完了 |
| N3669 |
constexprメンバ関数にconst修飾を付けられるようになったので、 標準ライブラリに適用 |
完了 |
| N3659 | 共有ロック機能として、<shared_mutex>ヘッダを追加 |
完了 |
| N3779 |
std::complexのユーザー定義リテラル |
完了 |
| N3789 |
<functional>ライブラリにconstexprを追加 |
完了 |
| N3778 | サイズ付きのデアロケート | 完了 |
| N3924 |
rand()の非推奨化 |
完了 |
| N3887 |
tuple_elementのエイリアステンプレート対応 |
完了 |
| N3891 |
shared_mutexクラスをshared_timed_mutexに改名 |
完了 |
| LWG DR | 説明 | 対応状況(空 or 完了 or 対応しない) |
|---|---|---|
| 1214 | キーの不変性に関する連想コンテナの要件が 不足している & 一貫していない |
対応しない 文面整理のため、こちらのサイトに影響がない |
| 2009 | 数値-文字列間の変換での、範囲外の値が発生した エラー報告に、 ERANGEを考慮する |
完了 |
| 2010 |
is_bind_expressionとis_placeholderが特殊化できないように読める |
完了 |
| 2015 | いくつかの型特性の要件が間違っている | 完了 |
| 2021 |
result_ofの使い方が間違っている |
完了 bind側はとくに対応していない |
| 2028 | messages_base::catalog overspecified | |
| 2033 |
reserve()、shrink_to_fit()、resize()メンバ関数の事前条件 |
完了 |
| 2039 |
std::reverseの効果が間違っている。std::copy_ifに戻り値の仕様がない。 |
完了 |
| 2044 | copy関係のアルゴリズムについて、 「Stable」の定義がない |
対応しない |
| 2045 |
forward_listのmerge()とsplice_after()に、アロケータが等価であることの要件を追加 |
完了 |
| 2047 |
unique_ptrのムーブ代入演算子の、効果が間違っている |
完了 |
| 2050 | 非順序連想コンテナがデータメンバ型の定義にallocator_traitsを使用していない |
完了 |
| 2053 |
regex_constantsのビットマスク定数に、不要な staticが付いている |
完了 |
| 2061 |
make_move_iterator()関数に配列を渡すと、ポインタに推論されない問題 |
完了 |
| 2064 |
basic_stringのnoexcept仕様に問題あり |
完了 |
| 2065 | アロケータインタフェースの最小要件 | 対応しない 現状、アロケータの要件を書く場所がない |
| 2067 |
packaged_taskとbasic_ostreamのコピー不可指定が間違っている |
packaged_taskは完了 |
| 2069 |
basic_stringのムーブコンストラクタについて、例外の仕様が不整合を起こしている |
完了 |
| 2096 |
future::getの制約が不正 |
完了 |
| 2102 |
std::launchが「実装定義のビットマスク型」という仕様になっているが、実装定義である必要はない |
完了 |
| 2071 |
std::valarrayのムーブ代入について、計算量が定数時間と記載していたが、線形時間の間違い |
完了 |
| 2074 |
std::reverse_copyの効果が間違っている |
完了 |
| 2081 |
Allocator要件は、CopyConstructible要件をincludeすべき |
対応しない 現状、アロケータの要件を書く場所がない |
| 2083 |
weak_ptr::owner_before()のconst修飾 |
対応しない(ぎりぎりC++11から) |
| 2086 | Overly generic type support for math functions | 完了 ヘッダページに記載 |
| 2099 |
va_start()の用途に、不要な制約がある |
対応しない C互換ライブラリの対応は任意 |
| 2103 |
propagate_on_container_move_assignmentをデフォルトで trueに |
完了 |
| 2105 |
const_iteratorのvalue_typeに、不要な要件。 |
対応しない 現状、イテレータの要件を書く場所がない |
| 2110 |
removeとremove_ifは、アルゴリズムの要件に反するswap操作はできない |
完了 |
| 2123 |
forward_list::merge()のアロケータ要件を満たさなかった場合の挙動を、 listに合わせて記載 |
完了 |
| 2005 |
unordered_map::insert(T&&)の効果を、mapと同様に簡易化 |
完了 |
| 2011 | Unexpected output required of strings | |
| 2048 |
mem_fnの不要なオーバーロードを削除 |
完了 |
| 2049 |
is_destructibleの仕様が不十分 |
完了 |
| 2056 |
future_errcの列挙値が0から始まってしまっている |
完了 |
| 2058 |
valarrayのイテレータが無効になる条件 |
完了 |
| 2091 |
m.try_lock_for()の要件に、効果が書いていた |
完了 |
| 2092 |
condition_variable_anyのエラー文言があいまい |
完了 |
| 2093 | wait系関数の「例外」節を見直し | 完了 |
| 2094 |
durationの変換コンストラクタのオーバーロード解決条件に、オーバーフローしないことを追加 |
完了 |
| 2122 |
listとforward_listにおけるmerge()の安定性 |
完了 安定の定義については未対応 |
| 2128 | イテレータを取得する非メンバ関数として、cbegin/cend, rbegin/rend, crbegin/crendを追加 |
完了 |
| 2145 |
error_categoryクラスのデフォルトコンストラクタが定義されていない |
完了 |
| 2147 | Unclear hint type in Allocator's allocate function | |
| 2148 |
std::hashでenumを直接サポートするべき |
完了 |
| 2149 | 関数オブジェクトに、argument_typeとresult_typeを要求していたが、持っていないものも多いため、要件から外した |
対応しない |
| 2162 |
allocator_traits::max_size()にnoexceptが付いていない |
完了 |
| 2163 |
nth_elementの事後状態に、operator>ではなくoperator<を使用する |
完了 |
| 2169 |
unique_ptr::reset()のnullptr_tバージョンに、効果が記載されていない |
完了 |
| 2172 |
shared_ptrのatomic_compare_exchange_*関数に、ヌルポインタを受け付けない要件が漏れている |
完了 |
| 2080 |
once_flagは無効にならない |
完了 |
| 2098 |
promise::set_value()、set_value_at_thread_exit()の例外節を見直し |
完了 |
| 2109 |
hash特殊化の要件が間違っている |
対応しない 元々、要件については特に書いていなかった |
| 2130 | missing ordering constraints for fences | |
| 2138 |
atomic_flag::clearの制限として、consumeメモリオーダーを受け付けないようにする |
完了 |
| 2140 | notify_all_at_thread_exit synchronization | |
| 2144 |
type_indexの仕様にnoexceptが抜けている |
完了 |
| 2174 |
wstring_convert::converted()はnoexceptにすべき |
完了 |
| 2175 |
wstring_convertとwbuffer_convertのコンストラクタ要件 |
wstring_convertは完了 |
| 2176 |
wstring_convertとwbuffer_convertの特殊メンバ関数 |
wstring_convertは完了 |
| 2177 | Requirements on Copy/MoveInsertable | |
| 2185 |
futureとshared_futureのwait_for/wait_untilに、例外仕様が漏れている |
完了 |
| 2187 |
vector<bool>にemplaceとemplace_backが追加されていない |
完了 |
| 2190 | ordering of condition variable operations, reflects Posix discussion | |
| 2196 |
is_*[copy/move]_[constructible/assignable]の非参照型に対する振る舞いを明確化 |
完了 |
| 2197 |
is_[un]signedの算術型以外が渡された場合の仕様が明確でない |
完了 |
| 2200 | Container requirementsの「データ競合の回避」のところに 「シーケンスコンテナ」と書いてあるが、正しい対象は全てのコンテナ |
対応しない cpprefjpに影響なし |
| 2203 | scoped_allocator_adaptor uses wrong argument types for piecewise construction | |
| 2207 |
basic_string::atには要件節が必要ない |
完了 |
| 2209 | assign() overspecified for sequence containers | |
| 2210 | コンテナに、アロケータを伝搬させるコンストラクタが不足している | 完了 |
| 2211 | Replace ambiguous use of "Allocator" in container requirements | |
| 2222 |
forward_listの単一要素版splice_after()について、ポインタと参照の有効性を説明する対象が間違っている |
完了 |
| 2225 | ヘッダのインクルードチェックに関する要件が現実的ではない | 対応しない |
| 2229 | Standard code conversion facets underspecified | |
| 2231 | DR 704で削除された、シーケンスコンテナのclear()メンバ関数の計算量保証を再度入れる |
完了 |
| 2235 |
basic_stringのコンストラクタに、適切な要件を設定して未定義動作をなくす |
完了 |
| 2141 |
common_typeは参照型を返すべきではない |
完了 |
| 2246 |
unique_ptrのデリータを代入する文言が曖昧 |
完了 |
| 2247 |
is_null_pointer型特性を追加 |
完了 |
| 2085 | Wrong description of effect 1 of basic_istream::ignore | |
| 2087 |
iostream_category()とnoexcept
|
完了 |
| 2143 |
ios_base::xallocはスレッドセーフにすべき |
完了 |
| 2150 |
find_endの仕様が明確でない |
対応しない cpprefjpの解説には影響がなかった |
| 2180 |
std::seed_seqオブジェクトの操作から投げられる例外 |
完了 |
| 2194 | コンテナアダプタが「シーケンスコンテナの要件を満たす」とあるが、そんなことはないので間違い | 対応しない cpprefjpに影響なし |
| 2013 | Do library implementers have the freedom to add constexpr? | |
| 2018 |
regex_traits::isctypeの戻り値節がおかしい |
完了 |
| 2078 |
async()の例外節が不完全 |
対応しない 意味はとくに変わっていない |
| 2097 |
threadとpackaged_taskの関数テンプレート版コンストラクタに制約を設けるべき |
完了 |
| 2100 | Timed waiting functions cannot timeout if launch::async policy used | 対応しない 現状、同期節を取り扱っていない |
| 2120 |
async()関数にasyncとdeferred以外のポリシーが設定されていたら、どういう挙動をすべきか |
完了 |
| 2159 |
atomic_flagの初期化 |
完了 |
| 2275 |
forward_as_tuple()がconstexprになっていない |
完了 |
| 2284 |
allocator_traits::max_sizeのパラメータにconstが付いていない |
完了 |
| 2298 |
add_rvalue_referenceのコード例に、noexceptを追加std::declval()と同じ定義であるため |
対応しない |
| 2300 |
mapとmultimapのメンバ関数の節を削減 |
対応しない 規格書の書き方整理 |
| NB comment: GB9 Remove gets from C++14 | ||
| 2135 |
condition_variable::wait()の例外送出する仕様が明確でない |
完了 |
| 2291 |
std::hashが衝突DoS攻撃に対して脆弱である |
完了 |
| 2142 | packaged_task::operator() synchronization too broad? | |
| 2240 | Probable misuse of term "function scope" in [thread.condition] | |
| 2252 |
vectorとdequeの挿入操作において、例外に対する保証が強すぎる |
完了 |
| 2257 | コンテナの等値比較を、新たなアルゴリズムを使ってシンプルにする | 完了 非順序連想コンテナは非対応。 |
| 2268 |
std::basic_stringのappend, assign,insert, replace, compareに、デフォルト引数を追加 |
完了 |
| 2271 | regex_traits::lookup_classname specification unclear | |
| 2272 |
quotedは文字の比較にchar_traits::eqを使用すべき |
完了 |
| 2278 |
durationのリテラルを、std::chrono名前空間でも使用できるようにする |
完了 |
| 2280 | 組み込み配列版のbegin()とend()はconstexprとnoexceptを付けるべき |
完了 |
| 2285 |
make_reverse_iterator()関数を追加 |
完了 |
| 2299 |
key_compare::is_transparent型へのアクセスについての効果が明確ではない |
完了 |
| 1450 |
regex_constantsの矛盾 |
対応しない cpprefjpには、とくに影響がなかった |
| 2003 |
basic_string::eraseの、例外仕様が矛盾している |
完了 |
| 2112 | 派生できないユーザー定義クラスの判定用に、is_finalを追加 |
完了 |
| 2132 |
std::functionに、シグニチャが異なる関数オブジェクトが渡された場合の挙動があいまい |
完了 |
| 2182 | Container::[const_]reference types are misleadingly specified | |
| 2188 |
reverse_iteratorを、operator&のオーバーロードに対応する |
完了 |
| 2193 | コンテナのデフォルトコンストラクタを非explicitにする | 完了 |
| 2205 |
regex_match/regex_search の事後条件の表の表記は問題がある |
完了 |
| 2213 |
regex_replace の戻り値は引数のコピーではない |
完了 |
| 2258 | 順序付き連想コンテナのa.erase(q1, q2)が、q2を直接返せない場合がある |
完了 |
| 2263 | Comparing iterators and allocator pointers with different const-character | |
| 2293 | Wrong facet used by num_put::do_put | |
| 2301 |
std::tie()がconstexprになっていない |
完了 |
| 2304 | 非順序連想コンテナのcount()メンバ関数について、計算量が間違っている |
完了 |
| 2306 |
match_results::referenceがconst value_type&になっているが、value_type&が正しい |
完了 |
| 2308 | コンテナのデストラクタの要件を、 動的メモリ確保しない std::arrayを考慮したものにする |
対応しない |
| 2313 |
tuple_sizeは常にintegral_constantから派生すべき |
完了 |
| 2314 |
apply()はdecltype(auto)を返し、tuple_sizeの前にdecay_tを使うべき |
対応しない 規格書中のサンプルコードの問題 |
| 2315 |
weak_ptrをムーブ可能にすべき |
完了 |
| 2316 |
weak_ptr::lock()をアトミックに |
完了 |
| 2317 | 型のクエリに関する特性クラスは、size_tを返すUnaryTypeTraitsであるべき |
対応しない |
| 2320 |
select_on_container_copy_construction()によって返されるアロケータオブジェクトを、コンテナのコピーコンストラクタの第1パラメータに使用する、 と書かれていたが、アロケータのパラメータ位置は任意なので間違い |
対応しない |
| 2322 |
Associative(initializer_list, stuff)のコンストラクタ仕様が不十分 |
完了 |
| 2323 |
vector::resize(n, t)とdeque::resize(n, t)の仕様を簡易化すべし |
完了 |
| 2324 | 挿入イテレータのコンストラクタは、ポインタ取得にaddressof()関数を使用すべき |
完了 |
| 2329 |
match_results を伴う regex_match()/regex_search() は一時stringオブジェクトを禁止すべし |
完了 |
| 2330 |
regex("meow", regex::icase) のような文法指定が無いものは禁止されてるが、許可すべきだ |
完了 |
| 2332 |
regex_iteratorとregex_token_iteratorは、一時regexオブジェクトを禁止すべし |
完了 |
| 2339 | Wording issue in nth_element | |
| 2341 | Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) | |
| 2344 |
quoted()が、パディングとの相互作用について不明確 |
完了 |
| 2346 |
integral_constantのメンバ関数に、noexcept指定を付けるべき |
完了 |
| 2350 |
min、max、minmaxのconstexpr化 |
完了 |
| 2356 | Stability of erasure in unordered associative containers | |
| 2357 | Remaining "Assignable" requirement | |
| 2359 |
regex_constants::nosubs は basic_regex::mark_count() にどのような影響を与えるのか? |
|
| 2360 |
reverse_iteratorの間接参照演算子が、データ競合を考慮していない |
完了 |
| 2104 |
unique_lockのムーブ代入演算子からnoexceptを外すべき |
完了 |
| 2186 | Incomplete action on async/launch::deferred | |
| 2075 | 進行保証、ロックフリーのプロパティ、仮定のスケジューリング | 対応なし(ロックフリーという言葉の定義を追加) |
| 2288 | shared mutexの要件に不整合 | 完了 |
| 2396 |
underlying_typeに完全型であることの要件が明記された |
完了 |