読んだもの P0254R0: Integrating std::string_view and std::string およびその関連スレッド 稲葉 一浩.

Slides:



Advertisements
Similar presentations
だい六か – クリスマスとお正月 ぶんぽう. て form review ► Group 1 Verbs ► Have two or more ひらがな in the verb stem AND ► The final sound of the verb stem is from the い row.
Advertisements

て -form - Making て -form from ます -form -. With て -form, You can say... ~てもいいですか? (= May I do…) ~てください。 (= Please do…) ~ています。 (= am/is/are doing…) Connecting.
VE 01 え form What is え form? え? You can do that many things with え form?
英語勉強会(詫間English) /26 三木裕太.
稲葉 一浩 SC22/C++WG May 2015 Review for N4399: “Working Draft, Technical Specification for C++ Extensions for Concurrency” 稲葉 一浩
SPECIAL ASSIGNMENT What is the leadership and how can you be a good leader? I am going to give you the clues in the lecture, but please find the answer.
第1回レポートの課題 6月15日出題 今回の課題は1問のみ 第2回レポートと併せて本科目の単位を認定 第2回は7月に出題予定
Chapter 11 Queues 行列.
Ex7. Search for Vacuum Problem
日本語... ジェパディー! This is a template for you to use in your classroom.
動詞 スライドショウを実行し、左クリック(一回)しながら読んでください。
と.
Verb plain form + ことができます Abilities.
Ex8. Search for Vacuum Problem(2)
メソッド周辺の識別子と メソッド本体のAPI利用実績に基づいたAPI集合推薦手法
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
絶対だよ! 助動詞 must「~しなければならない」.
今しましょう Translate the story on the next slide. せんせいは しゅくだいを みます。
Ruby Extended Library Howto
Ruby Extended Library Howto
読んだもの1 P0145R1: Refining Expression Evaluation Order for Idiomatic C++
AP 私の食生活 Write a paragraph summarizing the data you collected. Include some conclusions. Present to your partner. Up to 90 sec.
日本人の英語文章の中で「ENJOY」はどういうふうに使われているのか
THE PLAIN FORM An Adventure in verbs.
There are 5 wearing verbs in Japanese depending on the part of body or the item being worn.
Windows Summit /8/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
A 02 I like sushi! I like origami!
第20章 Flyweight ~同じものを共有して無駄をなくす~
Reasonので + Consequence clause
Microsoft Consumer Channels and Central Marketing Group
Chapter 4 Quiz #2 Verbs Particles を、に、で
The Sacred Deer of 奈良(なら)
Did he/she just say that? Get your head out of the gutter! Oh wait….
CRLA Project Assisting the Project of
“You Should Go To Kyoto”
VTA 02 What do you do on a weekend? しゅうまつ、何をしますか。
Microsoft Partner Network Office 365 社内使用ライセンスの有効化
Oracle XEを使ってみよう 初音玲.
て みる.
Causative Verbs Extensively borrowed from Rubin, J “Gone Fishin’”, Power Japanese (1992: Kodansha:Tokyo) Created by K McMahon.
HHIHi.
第8回 2007年6月15日 応用Java (Java/XML).
Microsoft Visual Studio 2005 Tools for
くれます To give (someone gives something to me or my family) くれました くれます
English class Management
WELCOME TO THE WORLD OF DRAGON BALL
Windows Summit /24/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Michael Jeffrey Jordan
Part time jobs in restaurant
Bellwork: There is a new Japanese student at North.
半構造化テキストに対する 文字列照合アルゴリズム
Ex7. Search for Vacuum Problem
2019/4/22 Warm-up ※Warm-up 1~3には、小学校外国語活動「アルファベットを探そう」(H26年度、神埼小学校におけるSTの授業実践)で、5年生が撮影した写真を使用しています(授業者より使用許諾済)。
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
Created by L. Whittingham
Cluster EG Face To Face meeting
第八課文法二 Chapter 8 Grammar 2
Grammar Point 2: Describing the locations of objects
あいさつ.
cp-2. 属性,アクセサ (C++ オブジェクト指向プログラミング入門)
cp-1. クラスとメソッド (C++ オブジェクト指向プログラミング入門)
Japanese for Korean Learners
How To WPF アプリケーション Part4 By 中博俊.
アノテーションガイドラインの管理を行う アノテーションシステムの提案
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
How To WPF アプリケーション Part3 By 中博俊.
Presentation transcript:

読んだもの P0254R0: Integrating std::string_view and std::string およびその関連スレッド 稲葉 一浩

この提案は何であるか この前の Library Fundamentals TS で入った std::string_view についての改善案 だいたいこういう実装になるであろう物体 「文字列を渡して欲しいが引数を std::string と const char* のどちらにするか迷う」時のお助け用の型 template<typename CharT> class basic_string_view { public: // std::basic_string っぽいインターフェイス private: CharT *begin, *end; };

basic_string_view<CharT, ...> を string_view 等と略記しています 簡単のため basic_string_view<CharT, ...> を string_view 等と略記しています この提案は何であるか 現在 TS として受理されている案 namespace std { class string_view { public: string_view(const char*); string_view(const std::string&); std::string to_string() const; }; // std::string には変更なし }

この提案は何であるか (1/3) string_view の側では std::string を 特別扱いしない P0254R0 namespace std { class string_view { public: string_view(const char*); }; class string { explicit string(std::string_view sv); operator std::string_view() const; }

この提案は何であるか (2/3) string でなく string_view を取れば済む メソッドはそうする P0254R0 string でなく string_view を取れば済む メソッドはそうする namespace std { class string { public: string& insert(size_t i, std::string_view sv); string& replace(size_t i, size_t n, std::string_view sv); ... } Rationale: null終端文字列や、他のライブラリの文字列型 (QString, CString) を効率的に渡せる

この提案は何であるか(3/3) P0254R0 : Future Work 標準ライブラリの他のstd::string引数も置換えたい 例 std::logic_error や std::runtime_error 置き換えたくないもの std::iftream, std::ofstream のファイル名引数 これらは結局 OS の API に渡る可能性が高く、null終端の保証がな いstring_viewで受け取るのは非効率

炎上案件 「標準ライブラリの他のstd::string引数も置換えたい」 この部分を C++17 に入れるべきか? 既存のオーバーロードを消して置き換える形にするとABI互換性が かといって単にstring_view版を増やすと曖昧性増えないか fstream のケース(前ページ) どうするのか const char* を string_view にすると長さ求める分遅くなることが こんなややこしい議論を今さらC++17向けに始めるべきでは ない、C++<next> でやろう派 vs そんなことでは標準としての consistency が無くなる派

炎上案件 [22cp00:07169] Re: [isocpp-lib] [isocpp-lib-ext] P0254 - Integrating string_view into the standard library [22cp00:07196] [Ext] Coherence in the standard Library TS として提案されたものはspec本体には手を加えないとい う不文律だか決まりがあって今回のようなことになりやすい 「TSからの昇格であってもC++次期バージョンの2-meeting前には “feature freeze”する決まりとすべきでは」 H.Sutter:「Suggestion: If anyone wants to see a new feature (core or fundamental library) applied in the standard library as a precondition of the basic feature going into the standard, please speak up early and say so, so we can discuss it and find out whether people generally agree. If there is a consensus for requiring that, then the “applying it to the standard library” part should be part of the proposal’s development.」