2014-12-05

2014-11-post-Urbanaのレビュー: N4270-N4279

やはり欠番が多い。

N4270: Consolidated Revisions to C++ Extensions for Library Fundamentals

標準ライブラリに対する拡張。

  • std::functionのswapは、アロケーターは交換しないという文面の追加。
  • BM法による検索アルゴリズムの追加
  • optional
  • any

[PDF注意] N4272: Working Draft, Technical Specification for C++ Extensions for Transactional Memory

トランザクショナルメモリーのドラフト文面

N4273: Uniform Container Erasure (Revision 2)

一部のコンテナーは、効率化のため、eraseをメンバー関数として提供している。任意のコンテナーから汎用的かつ効率的に要素を削除できる、erase_if( container, pred )とerase( container, value )の提案

template < typename Container >
void remove_less_than_100( Container & c )
{
    // 100以下の要素を削除する
    std::erase( c, []( auto v ) { return v < 100 } ) ;
}

[PDF注意] N4274: Relaxing Packaging Rules for Exceptions Thrown by Parallel Algorithms - Proposed Wording (Revision 1)

N4157における並列アルゴリズムで例外をパッケージ化する際の制限緩和の修正案は十分ではなかったので、完全問題を修正する新しい文面案。

N4275: Parallelism PDTS Comment Responses

並列アルゴリズムのTSに対するNBコメントへの返答。日本からは4件送っている。

N4276: Adding Fused Transform Algorithms to the Parallelism TS

並列アルゴリズムとして、transform_reduce, transform_exclusive_scan, transform_inclusive_scanを追加する提案。

N4277: TriviallyCopyable reference_wrapper (Revision 1)

reference_wrapperをTrivially Copyableにする提案。

N4279: Improved insertion interface for std::{unordered_,}map (revised)

std::mapとstd::unordered_mapについて。

emplaceは、要素が存在するときは何もしないが、規格準拠な実装は実引数をムーブしてもよい。ムーブをしないことが保証されたtry_emplaceを追加する。

要素が存在しない時は挿入し、存在するときは代入する、insert_or_assignを追加する。

ドワンゴ広告

今日は軽い論文と欠番がが多かったのでだいぶたまっている論文を消化できた。

ドワンゴは本物のC++プログラマーを募集しています。

採用情報|株式会社ドワンゴ

CC BY-ND 4.0: Creative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0

No comments: