Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Akira Takahashi
2,081 views
Boost tour 1.60.0
Boostライブラリ一周の旅 1.59.0-1.60.0
Software
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 12
2
/ 12
3
/ 12
4
/ 12
5
/ 12
6
/ 12
7
/ 12
8
/ 12
9
/ 12
10
/ 12
11
/ 12
12
/ 12
More Related Content
PDF
Boost Tour 1_58_0
by
Akira Takahashi
PDF
Boost Overview
by
Akira Takahashi
PPTX
Flash lite概要
by
Toshiharu Shirai
PPTX
マスタリング バベル
by
道化師 堂華
PPTX
LT駆動開発08 - 無限のディスク領域を手に入れよう(妄想編)
by
Kazuya Matsubara
PDF
Boost tour 1.60.0 merge
by
Akira Takahashi
PPTX
SDL2の紹介
by
nyaocat
PDF
error handling using expected
by
Akira Takahashi
Boost Tour 1_58_0
by
Akira Takahashi
Boost Overview
by
Akira Takahashi
Flash lite概要
by
Toshiharu Shirai
マスタリング バベル
by
道化師 堂華
LT駆動開発08 - 無限のディスク領域を手に入れよう(妄想編)
by
Kazuya Matsubara
Boost tour 1.60.0 merge
by
Akira Takahashi
SDL2の紹介
by
nyaocat
error handling using expected
by
Akira Takahashi
Viewers also liked
PDF
Study3 boost
by
Kohsuke Yuasa
PPTX
クソザコ鳥頭が非順序連想コンテナに入門してみた
by
Mitsuru Kariya
PDF
女性のためのC++コミュニティ Ladies++
by
cocodrips
PDF
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
by
Shintarou Okada
PDF
Siv3Dで楽しむゲームとメディアアート開発
by
Ryo Suzuki
PDF
ABC2015 Summer LT
by
Kensuke Onishi
PDF
CG基礎3 メタリンク
by
Tetsuro Nakamura
PDF
Boost study meeting opening 4
by
Akira Takahashi
PPTX
boost - std - C#
by
Tatsuya Ishikawa
PDF
boost::shared_ptr tutorial
by
NU_Pan
PDF
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
by
Vissarion Fisikopoulos
DOCX
Boost勉強会 #10 ディスカッションまとめ
by
Sigureya
PDF
Glfw3,OpenGL,GUI
by
hira_kuni_45
PDF
boost and c++11
by
Akihiko Matuura
PDF
3DCAD@VDI活用とCADデータ管理のロードマップ
by
Dell TechCenter Japan
PPTX
ゲーム開発経営ゲーム
by
Yuki Miyatake
PDF
Boost Tour 1_58_0 merge
by
Akira Takahashi
PDF
Boost container feature
by
Akira Takahashi
PPTX
3D CADと3Dプリンタ体験セミナー #1
by
Kou Ouchi
PPTX
Unity MeshとColliderについて
by
Self Norl
Study3 boost
by
Kohsuke Yuasa
クソザコ鳥頭が非順序連想コンテナに入門してみた
by
Mitsuru Kariya
女性のためのC++コミュニティ Ladies++
by
cocodrips
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
by
Shintarou Okada
Siv3Dで楽しむゲームとメディアアート開発
by
Ryo Suzuki
ABC2015 Summer LT
by
Kensuke Onishi
CG基礎3 メタリンク
by
Tetsuro Nakamura
Boost study meeting opening 4
by
Akira Takahashi
boost - std - C#
by
Tatsuya Ishikawa
boost::shared_ptr tutorial
by
NU_Pan
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
by
Vissarion Fisikopoulos
Boost勉強会 #10 ディスカッションまとめ
by
Sigureya
Glfw3,OpenGL,GUI
by
hira_kuni_45
boost and c++11
by
Akihiko Matuura
3DCAD@VDI活用とCADデータ管理のロードマップ
by
Dell TechCenter Japan
ゲーム開発経営ゲーム
by
Yuki Miyatake
Boost Tour 1_58_0 merge
by
Akira Takahashi
Boost container feature
by
Akira Takahashi
3D CADと3Dプリンタ体験セミナー #1
by
Kou Ouchi
Unity MeshとColliderについて
by
Self Norl
Similar to Boost tour 1.60.0
PDF
Boost Tour 1.53.0
by
Akira Takahashi
PDF
Boost Tour 1.50.0
by
Akira Takahashi
PDF
Boost Tour 1.53.0 merge
by
Akira Takahashi
PDF
Boost Tour 1.48.0 diff
by
Akira Takahashi
PDF
Introduction to boost test
by
Kohsuke Yuasa
PDF
Goodbye Doost
by
N Masahiro
PDF
Boost.Range入門
by
egtra
Boost Tour 1.53.0
by
Akira Takahashi
Boost Tour 1.50.0
by
Akira Takahashi
Boost Tour 1.53.0 merge
by
Akira Takahashi
Boost Tour 1.48.0 diff
by
Akira Takahashi
Introduction to boost test
by
Kohsuke Yuasa
Goodbye Doost
by
N Masahiro
Boost.Range入門
by
egtra
More from Akira Takahashi
PPTX
Cpp20 overview language features
by
Akira Takahashi
PDF
Cppmix 02
by
Akira Takahashi
PPTX
Cppmix 01
by
Akira Takahashi
PDF
Modern C++ Learning
by
Akira Takahashi
PDF
cpprefjp documentation
by
Akira Takahashi
PDF
C++1z draft
by
Akira Takahashi
PDF
Boost tour 1_61_0 merge
by
Akira Takahashi
PDF
Boost tour 1_61_0
by
Akira Takahashi
PDF
C++14 solve explicit_default_constructor
by
Akira Takahashi
PDF
C++14 enum hash
by
Akira Takahashi
PDF
Multi paradigm design
by
Akira Takahashi
PDF
Start Concurrent
by
Akira Takahashi
PDF
Programmer mind
by
Akira Takahashi
PDF
Boost.Study 14 Opening
by
Akira Takahashi
PDF
Executors and schedulers
by
Akira Takahashi
PDF
Improvement future api
by
Akira Takahashi
PDF
C++14 variable templates
by
Akira Takahashi
PDF
C++14 relaxing constraints on constexpr
by
Akira Takahashi
PDF
C++14 binary literals
by
Akira Takahashi
PDF
Leaning random using Boost Random
by
Akira Takahashi
Cpp20 overview language features
by
Akira Takahashi
Cppmix 02
by
Akira Takahashi
Cppmix 01
by
Akira Takahashi
Modern C++ Learning
by
Akira Takahashi
cpprefjp documentation
by
Akira Takahashi
C++1z draft
by
Akira Takahashi
Boost tour 1_61_0 merge
by
Akira Takahashi
Boost tour 1_61_0
by
Akira Takahashi
C++14 solve explicit_default_constructor
by
Akira Takahashi
C++14 enum hash
by
Akira Takahashi
Multi paradigm design
by
Akira Takahashi
Start Concurrent
by
Akira Takahashi
Programmer mind
by
Akira Takahashi
Boost.Study 14 Opening
by
Akira Takahashi
Executors and schedulers
by
Akira Takahashi
Improvement future api
by
Akira Takahashi
C++14 variable templates
by
Akira Takahashi
C++14 relaxing constraints on constexpr
by
Akira Takahashi
C++14 binary literals
by
Akira Takahashi
Leaning random using Boost Random
by
Akira Takahashi
Boost tour 1.60.0
1.
Boostライブラリ一周の旅 Ver 1.59.0 ∼
1.60.0 高橋 晶(Akira Takahashi) faithandbrave@gmail.com 2015/12/05 Boost.勉強会 #19 東京
2.
はじめに • Boostに興味はあるけど、触ったことがない • バージョンアップについていけなくなった •
Boostの全容を知りたい この発表は、以下のような方を対象にして、 Boost 1.60.0時点での、なるべく全てのライブラリの 概要を知ってもらうためのものです。 この資料は、バージョン間の差分を紹介するものですが、 これまでの資料をマージしたバージョンも公開します。
3.
バージョンアップの詳細 • boostjpサイトでは、Boostのリリースノートを翻訳したもの を公開しています • http://boostjp.github.io/document/version.html この階層以下に、各バージョンのリリースノートがあります •
本家のリリースノートよりもくわしく書いています • チケットタイトルを直訳するのではなく、問題と修正の内容 を確認して書いています • 新機能が入った際には、ドキュメントから概要と サンプルコードを持ってきたりもしています • 本家より優れたものを作ることが目的ではなく、日本語で 情報を届けるのに適したやり方として情報補完をしています
4.
Boostとは • 標準ライブラリに満足できなかった人たちが作っている、 C++の準標準ライブラリ。 • Boostから標準ライブラリに、多くの機能が採用されている •
普段のプログラミング全般で使える基本的なものから、 専門的なものまで、いろいろなライブラリがある。 • ライセンスはBoost Software License 1.0 • 無償で商用利用可能 • 著作権表記の必要なし • ソースコードの改変自由
5.
本日紹介するライブラリ • Convert • VMD •
Test V3
6.
質問は随時受け付けます • この発表では、3ライブラリの紹介をします。 • 1ライブラリに付き、(ほぼ)ひとつのサンプルコードで 解説する、というスタイルです。 •
発表時間に余裕があるので、随時質問してください。
7.
Convert 1/3 boost::lexical_cast()を置き換えて使用できる、数値と文字列の 型変換ライブラリ。 変換失敗時の挙動、基数や精度、フォーマットなどを設定できる。 戻り値の型はboost::optional<T>。 namespace cnv
= boost::cnv; ! // 文字列"123"をint型に変換する // コンバータにはcstreamを使用する cnv::cstream converter; boost::optional<int> result = boost::convert<int>("123", converter); コンバータクラスはいくつか用意されており、現在正式にサポートされて いるのは、lexical_castと(c|w)streamの2つ。 コンバータを別定義できるので、文字コードの変換にも利用できる。
8.
Convert 2/3 変換失敗時のエラーハンドリングは基本的に、 戻り値であるboost::optional<T>オブジェクトに対して行う。 boost::cnv::cstream converter; ! //
変換後にoptionalの中身を取り出す。 // 変換失敗時はboost::bad_optional_access例外が送出される int result2 = boost::convert<int>("123", converter).value(); ! // 変換失敗時に-1が返される int result3 = boost::convert<int>("xxx", converter).value_or(-1);
9.
Convert 3/3 基数や精度、フォーマットの設定は、標準ライブラリのマニピュレータと、 Boost.Convertが定義しているパラメータの、2種類が使用できる。 マニピュレータに指定は、コンバータの関数呼び出し演算子を使用する。 // 標準のマニピュレータ cnv::cstream
converter; int result1 = boost::convert<int>( " ff", converter(std::hex)(std::skipws) // 16進数、スペースを無視 ).value(); // result == 255 ! // Boost.Convertのマニピュレータ int result2 = boost::convert<int>( "ff", converter(arg::base = cnv::base::hex) // 16進数 ).value(); // result == 255
10.
VMD (Variadic Macro
Data Library) 可変引数マクロを使用した、プリプロセッサメタプログラミングの ライブラリ。Boost.Preprocessorを強化するためのもの。 各種データ型と、それをテスト・解析する機能が提供される。 #define SEQ 1 2 3 #define SEQ_SIZE BOOST_VMD_SIZE(SEQ) ! void f(int a, int b, int c) { std::cout << a << " " << b << " " << c << std::endl; } ! // 要素数を取得 std::cout << SEQ_SIZE << std::endl; // 3 ! // シーケンスをカンマ区切りパラメータに変換 f(BOOST_VMD_ENUM(SEQ));// 「1, 2, 3」に変換される
11.
Test v3 Boost.Testがバージョン3にメジャーアップデートした。 汎用的なテストマクロBOOST_TESTが追加された(Power Assert)。 パラメタライズドテストに対応した。ドキュメントが読みやすくなった。 BOOST_AUTO_TEST_CASE(equal_test) { int
a = 1; int b = 2; BOOST_TEST(a == b); // これまではBOOST_CHECK_EQUAL(a, b)と書いてた } Running 1 test case... main.cpp:8: error: in "equal_test": check a == b has failed [1 != 2] ! *** 1 failure is detected in the test module "example"
12.
本日の紹介はここまで • 今回の「Boostライブラリ一周の旅」では、 Boost 1.59.0から1.60.0までの更新を紹介しました。 •
発表では差分のみを紹介していますが、 これまで紹介したものをマージした資料も公開しています。 • 今回Boostに興味を持たれた方は、そちらのマージした資料 もぜひご覧ください。
Download