-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path2010.html
223 lines (220 loc) · 144 KB
/
2010.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
<!doctype html><!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]--><!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]--><!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]--><!--[if gt IE 8]><!--><html class=no-js lang=ja itemscope itemtype=http://schema.org/WebPage> <!--<![endif]--> <head><!-- Google tag (gtag.js) --><script async src="https://www.googletagmanager.com/gtag/js?id=G-N5WF8TJCNB"></script><script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-N5WF8TJCNB');
</script><meta charset=UTF-8><title>BoostCon 2010 - boostjp</title><meta name=viewport content="width=device-width,initial-scale=1"><meta name=keywords content="
C++,Boost,リファレンス,ドキュメント,
"><meta name=title content="BoostCon 2010 - boostjp"><meta itemprop=name content="BoostCon 2010 - boostjp"><meta property=og:title content="BoostCon 2010 - boostjp"><meta property=og:url content=https://boostjp.github.io/boostcon/2010.html><meta property=og:site_name content="boostjp : Boost日本語情報サイト"><meta property=og:type content=article><meta property=og:description content="BoostCon 2010 2010 Program - boostcon 資料 BoostCon 2010 Presentations セッションリスト Clang: オープンソースのC++コンパイラライブラリ ジェネリックプログラミングとBoost Graph Library 幾何学のためのジェネリックプログラミング Instantiations Must Go! C++0x updat"><meta name=twitter:card content=summary><meta name=twitter:title content="BoostCon 2010 - boostjp"><meta name=twitter:url content=https://boostjp.github.io/boostcon/2010.html><meta name=twitter:description content="BoostCon 2010 2010 Program - boostcon 資料 BoostCon 2010 Presentations セッションリスト Clang: オープンソースのC++コンパイラライブラリ ジェネリックプログラミングとBoost Graph Library 幾何学のためのジェネリックプログラミング Instantiations Must Go! C++0x updat"><link rel=alternate type=application/atom+xml title=Atom href=https://boostjp.github.io/rss.xml><link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css><link rel=stylesheet href=../static/pygments/default.css><!-- <link rel="stylesheet" href="../static/css/root.css"> --><script src=https://code.jquery.com/jquery-2.1.1.min.js></script><script src=https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js></script><!-- <script src="https://platform.twitter.com/widgets.js"></script> --><!-- <script src="../static/js/root.js"></script> --><!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--><script>
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/,'js');
</script><style type=text/css>
.tree{
-webkit-border-radius:4px;
-moz-border-radius:4px;
border-radius:4px;
-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);
-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);
box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);
background-color:#fbfbfb;
border:1px solid #999;
margin-bottom:10px;
/*max-height:300px;*/
/*min-height:20px;*/
overflow-x:scroll;
padding:3px
}
.tree ul {
padding-left:32px
}
.tree > ul{
padding-left:0px
}
.tree a{
display:inline;
overflow:hidden;
text-overflow:ellipsis;
width:90%
}
.tree li{
list-style-type:none;
margin:0;
padding:4px 0 0 2px;
position:relative
}
.tree li::before,.tree li::after{
content:'';
left:-20px;
position:absolute;
right:auto
}
.tree li::before{
border-left:1px solid #999;
bottom:50px;
height:100%;
top:0;
width:1px;
-webkit-transition:"border-color 0.1s ease 0.1s";
-moz-transition:"border-color 0.1s ease 0.1s";
-o-transition:"border-color 0.1s ease 0.1s";
transition:"border-color 0.1s ease 0.1s"
}
.tree li::after{
border-top:1px solid #999;
height:20px;
top:13px;
width:23px;
-webkit-transition:"border-color 0.1s ease 0.1s";
-moz-transition:"border-color 0.1s ease 0.1s";
-o-transition:"border-color 0.1s ease 0.1s";
transition:"border-color 0.1s ease 0.1s"
}
.tree li span.treespan{
-moz-border-radius:5px;
-webkit-border-radius:5px;
border:1px solid #999;
border-radius:5px;
display:inline-block;
line-height:14px;
padding:2px 4px;
text-decoration:none;
-webkit-transition:color .2s ease .1s,background-color .2s ease .1s,border-color .3s ease .2s;
-moz-transition:color .2s ease .1s,background-color .2s ease .1s,border-color .3s ease .2s;
-o-transition:color .2s ease .1s,background-color .2s ease .1s,border-color .3s ease .2s;
transition:color .2s ease .1s,background-color .2s ease .1s,border-color .3s ease .2s
}
.tree li.parent_li>span.treespan{cursor:pointer}
.tree li.parent_li>span.treespan:hover{
background-color:#df8505;
border:1px solid #c67605;
color:#fff
}
.tree li.parent_li>span.treespan:hover+ul li::after{border-top-color:#f89406}
.tree li.parent_li>span.treespan:hover+ul li::before{border-left-color:#f89406}
.tree li.parent_li>span.treespan:hover+ul li span.treespan{
background:#fddfb3;
border:1px solid #faa937;
color:#000
}
.tree li:last-child::before{height:13px}
.tree>ul>li::before,.tree>ul>li::after{border:0}
.google-search {
width: 250px;
margin-top: 2px;
}
.google-search-result .gsc-control-cse {
padding: 0px;
border: 0px;
}
/*
.google-search-result .gsc-adBlock {
display:none !important;
visibility:hidden !important;
}
.google-search-result .gsc-adBlockVertical {
display:none !important;
visibility:hidden !important;
}
*/
code {
color: #000000;
}
a code {
color: #428bca;
}
.content-body > h1:first-child {
margin-top: 0px;
}
.content-body h2 {
border-left: solid 8px skyblue;
padding-left: 5px;
border-bottom: solid 2px skyblue;
}
.edit {
-webkit-border-radius:4px;
-moz-border-radius:4px;
border-radius:4px;
border:1px solid #999;
margin: 5px;
padding: 3px;
}
.history {
-webkit-border-radius:4px;
-moz-border-radius:4px;
border-radius:4px;
border:1px solid #999;
margin: 5px;
padding: 3px;
}
ol.breadcrumb {
margin-bottom: 5px;
}
.footer {
text-align: center;
}
.footer.navbar {
min-height: 0;
margin-top: 20px;
margin-bottom: 0px;
padding-top: 10px;
padding-bottom: 10px;
}
div.identifier-type {
float: left;
}
div.header {
float: right;
text-align: right;
}
h1 .namespace {
font-size: 14px;
}
h1 .class {
}
h1 .cpp {
font-size: 14px;
}
.tree .cpp-sidebar {
font-size: 10px;
}
pre .err { border: 0px } /* Error */
.syntax pre .err { border: 0px } /* Error */
</style><script>
function tree_onclick(e) {
var children = $(this).parent('li.parent_li').find(' > ul > li');
if (children.is(':visible')) {
children.hide(100);
$(this)
.attr('title', 'Expand this branch')
.find(' > i')
.addClass('glyphicon-plus')
.removeClass('glyphicon-minus');
}
else {
children.show(100);
$(this)
.attr('title', 'Collapse this branch')
.find(' > i')
.addClass('glyphicon-minus')
.removeClass('glyphicon-plus');
}
e.stopPropagation();
}
</script></head> <body> <header> <nav class="navbar navbar-default" role=navigation> <div class=container-fluid> <div class=navbar-header> <button type=button class="navbar-toggle collapsed" data-toggle=collapse data-target=#navbar-collapse> <span class=sr-only>Toggle navigation</span> <span class=icon-bar></span> <span class=icon-bar></span> <span class=icon-bar></span> </button> <a class=navbar-brand href=../index.html> <div class="title-wrapper clearfix"> <div class=title>boostjp : Boost日本語情報サイト</div> </div> </a> </div> <div class="collapse navbar-collapse" id=navbar-collapse> <ul class="nav navbar-nav navbar-right"> <li> <div class=google-search> <script>
(function() {
var cx = '013316413321391058734:dma_peph4n0';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script> <gcse:searchbox></gcse:searchbox> </div> </li> <li> <a href=https://github.com/boostjp/site>GitHub Project</a> </li> </ul> </div> </div> </nav> </header> <main id=main role=main> <div class=container-fluid> <div class=row> <div class="col-sm-9 col-sm-push-3" itemscope itemtype=http://schema.org/Article> <div class=row> <div class="col-sm-12 google-search-result"> <gcse:searchresults></gcse:searchresults> </div> </div> <div class=row> <div class="col-sm-12 content-header"> <ol class=breadcrumb> <li itemscope itemtype=http://www.schema.org/SiteNavigationElement> <span> <a href=../index.html itemprop=url> <i class="glyphicon glyphicon-home"></i> </a> </span> </li> <li itemscope itemtype=http://www.schema.org/SiteNavigationElement> <span> <a href=../boostcon.html itemprop=url> <span itemprop=name>BoostCon</span> </a> </span> </li> <li class=active itemscope itemtype=http://www.schema.org/SiteNavigationElement> <span> <span itemprop=name>BoostCon 2010</span> </span> </li> </ol> </div> </div> <div class=row> <div class="col-sm-12 edit-button"> <p class=text-right><small> 最終更新日時: <span itemprop=datePublished content=2017-12-25T04:40:03> 2017年12月25日 04時40分03秒 </span> <br> <span itemprop=author itemscope itemtype=http://schema.org/Person> <span itemprop=name>Akira Takahashi</span> </span> が更新 </small></p> <p class=text-right> <a class=history target=_blank href=https://github.com/boostjp/site/commits/master/boostcon/2010.md> <span class="glyphicon glyphicon-time"></span>履歴 </a> <a class=edit target=_blank href=https://github.com/boostjp/site/edit/master/boostcon/2010.md> <span class="glyphicon glyphicon-pencil"></span>編集 </a> </p> </div> </div> <div class=row> <div class="col-sm-12 content-body"> <h1 itemprop=name><span class=token>BoostCon 2010</span></h1> <div itemprop=articleBody><p><a href=http://boostcon.boost.org/program/previous-years/2010-program/ target=_blank>2010 Program - boostcon</a></p> <h2>資料</h2> <ul> <li><a href=https://github.com/boostcon/2010_presentations target=_blank>BoostCon 2010 Presentations</a></li> </ul> <h2>セッションリスト</h2> <ul> <li><a href=#clang-lib>Clang: オープンソースのC++コンパイラライブラリ</a></li> <li><a href=#generic-programming-graph-lib>ジェネリックプログラミングとBoost Graph Library</a></li> <li><a href=#geometry>幾何学のためのジェネリックプログラミング</a></li> <li><a href=#instantiations-must-go>Instantiations Must Go!</a></li> <li><a href=#cpp0x-update>C++0x update</a></li> <li><a href=#exception-safety>C++での例外使用に関するガイドラインの再考 - 例外安全なコードを効果的に設計するための10の助言</a></li> <li><a href=#spirit-rad-framework>RAD Spiritのためのフレームワーク</a></li> <li><a href=#is-boost-broken>Is Boost Broken?</a></li> <li><a href=#data-structure-visualizers>Data Structure Visualizers in Visual Studio 2010</a></li> <li><a href=#alabaster>Boost.Alabaster: A Law Based Tester</a></li> <li><a href=#tool-builder>C++ Tool-Builders Workshop</a></li> <li><a href=#cpp0x-concurrency>C++0x Concurrency</a></li> <li><a href=#basic-lock-free>Lock-freeプログラミングの基礎</a></li> <li><a href=#tboost-stm>TBoost.STMエンジン: コミット時無効化を使用したSoftware Transactional Memoryの効率化</a></li> <li><a href=#spirit-v2>Using Spirit V2: Qi and Karma</a></li> <li><a href=#boost-test>Production use of Boost.Test</a></li> <li><a href=#asio-based-flash-xml-server>An Asio Based Flash XML Server</a></li> <li><a href=#msm-v2>The Meta State Machine Library V2</a></li> <li><a href=#overview-of-transactional-memory>Transactional Memoryの概観</a></li> <li><a href=#ame-pattern-library>AME Patterns Library: モデリング、認識、シーケンシャルパターンの統合のためのジェネリックライブラリ</a></li> <li><a href=#type-erasure>Type Erasure</a></li> <li><a href=#dsel-design>Protoによる実用的なDSELの設計</a></li> <li><a href=#network-library-implementation>柔軟なヘッダオンリーC++ネットワークライブラリ実装の手法</a></li> <li><a href=#mime>A MIME library for Boost</a></li> <li><a href=#nt2>The Numerical Template Toolbox : 高性能コンピューティングのための加速(Boost)されたGeneric配列ライブラリ</a></li> <li><a href=#functional-programming>C++による関数型プログラミング</a></li> <li><a href=#logic>C++による論理型パラダイム</a></li> <li><a href=#qt>QtとBoostによるクロスプラットフォーム開発</a></li> <li><a href=#spirit-history-and-evolution>Spiritの歴史と進化</a></li> <li><a href=#future-of-boost>Future of Boost Panel ’10</a></li> </ul> <h2><a href=#clang-lib id=clang-lib>Clang: オープンソースのC++コンパイラライブラリ</a></h2> <ul> <li>Clang: An Open-Source C++ Compiler Library</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#douglas-gregor target=_blank>Douglas Gregor</a></li> <li>形式 : 講義</li> <li>トラック : Track I 2010</li> </ul> <p>Clangは、C言語ファミリー(C, C++, Objective-C)のための新たなオープンソースコンパイラフロントエンドである。<br> C++コンパイラとして、Clangは速く提供できる生産品質なコンパイラであり、省メモリ使用、表現力豊かな診断、標準一致に関する強い関心で、低レベル仮想マシン(Low Level Virtual Machine : LLVM)を通じて、様々な構造のためにコード生成を最適化した。</p> <p>しかし、Clangはコンパイラを超えるものである。<br> 再使用可能なC++コンパイラライブラリとして設計され、Clangは大きなC++開発ツールを作るためのプラットフォームである。<br> Clang内部のデータ構造は、プログラムソースコードに関する完全な構文情報(マクロを含む、正確な位置情報)とセマンティクス(解決されたオーバーロード関数呼び出し、暗黙の変換)、両方を提供する。<br> その、Boost互換で、BSDライクなオープンソースライセンスは、新たなC++言語機能とアイデアのための潜在的な実験場としてや、C++コードを完全に、正しく構文解析することに依存するあらゆるツールのための理想的なベースにもなる。</p> <p>このトークでは、Clangコンパイラを導入し、その豊かな内部のデータ構造がどれほど大きなユーザーエクスペリアンスを提供するか、次に、Clangに基づく開発ツールを作るためのアーキテクチャ、主要なデータ構造と、ライブラリのチュートリアルに焦点をあてる。</p> <h2><a href=#generic-programming-graph-lib id=generic-programming-graph-lib>ジェネリックプログラミングとBoost Graph Library</a></h2> <ul> <li>Generic Programming And the Boost Graph Library</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#jeremy-siek target=_blank>Jeremy Siek</a></li> <li>形式 : 講義</li> <li>トラック : Track I 2010</li> </ul> <p>グラフのアルゴリズムとデータ構造は、インターネットパケットルーティング、分子生物学、科学的なコンピューティング、電話ネットワーク設計などの多様な領域の問題を解決するが伝統的なグラフライブラリ設計は、十分な柔軟性を提供することに失敗していた。<br> Boost Graph Library(BGL)はSTLをグラフドメインに適用し、グラフ問題を解決するための非常に柔軟で効率的なライブラリとなった。<br> しかし、BGLは使うのが難しいため、このチュートリアルではプログラミングの基本原則を学び、それらがBGLでどう適用されるのかを学んでいく。</p> <h2><a href=#href id=geometry>計算幾何のためのジェネリックプログラミング</a></h2> <ul> <li>Generic Programming for Geometry</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#barend-gehrels target=_blank>Barend Gehrels</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#bruno-lalande target=_blank>Bruno Lalande</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#mateusz-loskot target=_blank>Mateusz Loskot</a></li> <li>形式 : 講義</li> <li>トラック : Track I 2010</li> </ul> <p>Boost.Geometryは、現代のC++ジェネリックプログラミング手法を使用して設計された。<br> タグディスパッチはいたるところで使用され、メタ関数、テンプレートメタプログラミング、Traitsおよびコンセプトチェックを組み合わせた。<br> この講義では、タグディスパッチによって通常ではとれない値をとるなどの、手法を一歩一歩説明し、どのようにそれを使用することができるか、他の技術を組み合わせることができるかを解説する。</p> <h2><a href=#instantiations-must-go id=instantiations-must-go>Instantiations Must Go!</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#matt-calabrese target=_blank>Matt Calabrese</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#zachary-laine target=_blank>Zachary Laine</a></li> <li>形式 : 講義</li> <li>トラック : Track I 2010</li> </ul> <p>BoostCon 2009では、メタ関数を簡単に書くための取り組みで変なことをしていたが、あとで多くの専門家と話してそれが不可能であることがわかった。一方、彼らは時々ゾッとするようなTMPのコードをより通常の関数プログラミングのようなコードで書き、大部分のメタ関数のテンプレート定義(宣言ではない)をインスタンス化する必要性を取り除くおもしろい手法を発見した。</p> <h2><a href=#cpp0x-update id=cpp0x-update>C++0x update</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#michael-wong target=_blank>Michael Wong</a></li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>BoostCon 2009から継続して、最新コンパイラの実装状況に関するレポートと、C++0x機能に関する最新ニュースについての詳細を伝える。</p> <h2><a href=#exception-safety id=exception-safety>C++での例外使用に関するガイドラインの再考 - 例外安全なコードを設計するための10の助言</a></h2> <ul> <li>Demystifying C++ Exceptions – 10 Tips to Effectively Design Exception-Safe Code</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#ken-joyner target=_blank>Ken Joyner</a></li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>例外安全なコードを書くことが挑戦的であることは有名である。これは、多くの開発者に、例外の使用が避けられるべきであると結論させる。しかし、この結論に関する問題は、開発者が例外を使わずにエラー安全なコードを書くことがより簡単であると仮定しているということである。私は、この仮定が間違っていると考える。その代わりに、私は実際には、多くの開発者がエラー安全なコードを書くというわけではないと考えている。そして、例外は発生するエラーを無視することは、より挑戦的になる。(あなたのプログラムが未処理例外で終わるので処理しなければならない)</p> <p>エラー安全なコードを書くのは例外の使用のあるなしにかかわらず、やりがいがある。そして、エラー安全なコードを書かないのは予測できない、不安定なコードをもたらす。</p> <p>この論文は、(いくつかの修正をした)例外安全性のレベルを再文書化した例外安全推奨を提供する。これは、会社や開発者が必要とする、安全性のレベルを達成するために従うべき実質的なガイドラインの包括的なマニュアルとなる。特定の推奨とともに例外を使用することで、エラー安全なコードを書くことを、例外を使用することへの付加的な利益を加えるとともに、挑戦的なことをしないで済むアシスタントライブラリを提供する。</p> <h2><a href=#spirit-rad-framework id=spirit-rad-framework>RAD Spiritのためのフレームワーク</a></h2> <ul> <li>A Framework for RAD Spirit</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#joel-de-guzman target=_blank>Joel de Guzman</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#hartmut-kaiser target=_blank>Hartmut Kaiser</a></li> <li>形式 : チュートリアル</li> <li>トラック : Track II 2010</li> </ul> <p>従来のパーサージェネレータと比較したBoost Spiritパーサーの魅力は、それがC++に埋め込まれることである。ライブラリのユーザーは、C++コードにおいてExpression Templateを使ってパーサー文法を直接指定する。このアプローチには利点もあるが、同時に問題もある。</p> <p>最も目に付く問題点は、</p> <ul> <li>コンパイル時間が長い</li> <li>エラーメッセージを理解するのが難しい</li> <li>パーサーのデバッグとテストが難しい</li> </ul> <p>という点である。</p> <p>小さな構文解析については、これらは許容できる。しかし、アクティブな開発の8年後、より複雑な構文解析の中で使用されるポイントに来た。2と3はどうにか、Protoを使用することで軽減できる。しかしそれは、ライブラリがもはや役に立たない点にコンパイル時間を増大させる。</p> <p>EBNF/PEG式を受け入れて、すぐに実行可能であるパーサーかC++ Boost Spiritコードを出力するツールを持つことはおもしろい。RADツールは、パーサーを記述することをできるだけ容易にする。</p> <p>私たちは、そのようなツールの設計と開発を示したい。明らかに、この「動的なSpirit」ツールは「静止なSpirit」を使用して書かれるだろう。これはSpiritを使用した、本当に実用的な例になるだろう。</p> <h2><a href=#is-boost-broken id=is-boost-broken>Is Boost Broken?</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#robert-ramey target=_blank>Robert Ramey</a></li> <li>形式 : 講義</li> </ul> <p>Boostのいいところ</p> <ul> <li>形式的なレビュープロセスによるライブラリ品質と完全性の「証明」</li> <li>形式的なテスト、リリースプロセスの実施による信頼できる実装の「証明」</li> </ul> <p>Boostは拡張性が高くない</p> <ul> <li>テスト時間が長く、より長くなる・・・</li> <li>有名でないコンパイラをテストすることは難しい</li> <li>現在のテストはコンパイラ設定(RTTIのON/OFF、デバッグ/リリース、STLライブラリなど)のすべての可能な組み合わせを扱うことができるというわけではない</li> <li>より多くのライブラリが追加されるとき、インストールが面倒で、壊れやすくなる</li> <li>したがって、新規ユーザーがひとつのライブラリだけを使い始める場合でも、 Boostを使うための「コスト」と「オーバーヘッド」は時間とともに増加する。しかし、ひとつのライブラリをテスト/使用するための方法がない。</li> </ul> <p>Boostのアイデンティティの危機</p> <ul> <li>コアユーティリティの唯一のライブラリ?<ul> <li>i) ツールがテスト、リリース、配置を行う</li> <li>ii) ライブラリのサブセットのテスト、リリース、配置が必要であると考えられる</li> <li>iii) 全てのライブラリのためのひとつのバージョンを振る</li> </ul> </li> <li>あるいは、独立、分離されたライブラリのグループ(現在大きい)?<ul> <li>i) 多く、あるいはほとんどのライブラリが他のBoostライブラリのサブセットにだけ依存する</li> </ul> </li> </ul> <p>私の議論は、Boostが前者として始まり、後者へ向かって進化していきそうだということである。<br> Boostにとってすばらしい10年だったが、成功し続けるためには進化しなければならないだろう。<br> この発表では、私が、Boostがどのように変わらなければならないと思うかを説明する。</p> <h2><a href=#data-structure-visualizers id=data-structure-visualizers>Data Structure Visualizers in Visual Studio 2010</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#stephan-t-lavavej target=_blank>Stephan T. Lavavej</a></li> <li>形式 : 講義</li> <li>トラック : Track I 2010</li> </ul> <p>多くのSTLクラスが説明を複雑にした。デバッグをより簡単にするために、Visual Studio 2005と2008は、人間が読めるようにSTLオブジェクトを表示する「Visualizer」を持っていた。誰でも、Boostクラスのような他の型のためのVisualizerを書くことができる。これはアンドキュメントで、サポートもされないが、非常に有用になりえる。</p> <p>この発表は、<code>shared_ptr</code>、<code>function</code>および<code>map</code>の表示を改善するためにVisualizerを書く方法について説明し、Visual Studio 2010の新しい特徴を利用する方法を紹介する。</p> <h2><a href=#alabaster id=alabaster>Boost.Alabaster: A Law Based Tester</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#joachim-faulhaber target=_blank>Joachim Faulhaber</a></li> <li>形式 : 講義</li> <li>トラック : Track I 2010</li> </ul> <p>これは、形式的に規定された法則あるいは公理に基づいて自動テストを提供する、Boostライブラリのための提案である。<br> テストシステムは3部から成る。</p> <ul> <li>法則のインスタンス化変数を表わす型の並び上のクラステンプレートとして公理または法則を表現することを可能にする法則概念。</li> <li>与えられた法則と与えられた型の並び用の法則インスタンス化を任意に生成する、法則インスタンス用のジェネレーター。</li> <li>法則違反を選択し、単純性順序によってそれらを格納するフィルタ。</li> </ul> <p>Boost Interval Containerライブラリの開発のために、Boost.Alabasterのプロトタイプは法則に基づいた開発(law based development)に使用された。手法とツールとしての法則に基づいたテスト(law based testing)は、多くの面で有益であることが判明した:</p> <p>形式仕様の探究はより深く根付いた設計決定を生じさせ、より耐久性のある設計に結びつく。進化のプロセスでは、一般的なソフトウェアに関してあなたが即座に作った公理で開発を始められなかったとしても、ソフトウェア開発(法則のテスト)では前部(仕様)が抽象化と抽象推論を引っ張り出す。法則に基づいた開発プロセスは、ソフトウェアだけでなくそのソフトウェアに関して保証することができる形式上のプロパティももたらす。それらのプロパティの検証はいつでも繰り返す(replicate)ことができる。テストは、退屈で愛されなかった義務から抽象と設計の品質を促進する非常にクリエイティブなプロセスへと変形される。法則に基づいたテストは、従来の単体テストが提示することができる利点をすべて持ち、それを超える方法である。</p> <h2><a href=#tool-builder id=tool-builder>C++ Tool-Builders Workshop</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#douglas-gregor target=_blank>Douglas Gregor</a></li> <li>形式 : ワークショップ</li> <li>トラック : Track I 2010</li> </ul> <p>多くの専門家のように、プログラマは、生産性を改善する様々なツールを使用し、プロジェクト特有のニーズに焦点を当てた自分のツールを作るだろう。不運にも、C++プログラマのために、よいC++ツールの構築は、C++コードを解析する固有の複雑さによって非常に複雑になる。C++の全てを解析することができるオープンソースライブラリの不足と結び付けられたこの複雑さは、C++ツールを他の言語でそれらに相当するものより劣らせていた。Clang( <a href=http://clang.llvm.org target=_blank>http://clang.llvm.org</a> )は、大きなC++開発ツールを構築することをより簡単にすることによりこの不均衡に焦点を当てたサポートを意図した新たなオープンソースC++コンパイラライブラリである。</p> <p>このハンズオンワークショップでは、出席者は、新たなC++ツールを構築するためにClangライブラリを使用する方法を学習する。私たちはまず、C++プログラムを解析および識別する面白いプログラム構築から始める。そこから私たちは、その抽象構文ツリーによって語彙の構造(トークン、マクロのインスタンス化など)から意味的な構造(クラス、関数、式、テンプレートなど)までClangがどのようにプログラムを表わすかを知るだろう。最後に、私たちは手を汚して、Clangを使用して、あるC++ツールを構築する。私たちが構築する実際のツールは出席者によって決定されるだろう。しかし、可能性は以下のものを含んでいる:</p> <ul> <li>プロジェクト絶対コーディング標準、</li> <li>特定のオーバーロードが選ばれた理由の説明、</li> <li>クラスを自動的に生成するシリアライズコード、</li> <li>Boostライブラリから抽出するドキュメンテーション、</li> <li>あるいは、対話的にテンプレートやプリプロセッサのメタプログラムをデバッグする</li> </ul> <p>といったものを強化する。</p> <p>プログラム委員会は以下のことに注意する:</p> <p>私は、Clangに基づいた2つの異なるセッションを提案している。<br> 90分の発表(「Clang: An Open-Source C++ Compiler Library」)は、Clangをコンパイラ、ライブラリおよびオープンソースプロジェクトと評するだろう:<br> これはあまり深く話せないため、実際には概要である。</p> <p>ワークショップは、去年のDaveによるハンズオンBoost++0xワークショップに沿った単なる実験ではない:<br> 今年、私たちは、出席者にBoosterが使用するべきクールなツールを構築させることができるかどうか確かめたい。</p> <h2><a href=#cpp0x-concurrency id=cpp0x-concurrency>C++0x Concurrency</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#michael-wong target=_blank>Michael Wong</a></li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>この話では、私はBoostCon 09でのC++0x並列性の議論に引き続いて話していくつもりである。<br> とくに、C++のメモリモデル、新たなC++0xライブラリを通じて並列性がどのように扱われるか、スレッド管理、スレッド間のデータ共有、同期並列操作に関して話す。</p> <h2><a href=#basic-lock-free id=basic-lock-free>Lock-freeプログラミングの基礎</a></h2> <ul> <li>The Basics of Lock-free Programming</li> <li>スピーカー : Tony Van Eerd</li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>基礎から始め、共有データにアクセスするという問題を示し、ゆっくり問題を露出させていき、問題へのLock-freeによる解決策を示す。この話は以下を含む:</p> <ul> <li>原始性についての説明</li> <li>CAS命令とCASループについての説明</li> <li>Double-Checked-Locking Pattern(DCLP)の危険性とそれを避ける方法(メモリバリア)の説明</li> <li>read-request queueとwrite-request queueのアイデアに基づき、どのように複数のCPUが働くか理解できるモデルを提示しメモリバリアを説明する</li> <li>Lock free stackを提示する</li> <li>ABAと、それを回避する方法についての説明</li> <li>Lock-freeプログラミング(楽観的なrelaxed memory operation)におけるいくつかの最前線開発に触れる</li> <li>BoostとC++0xがどのようにLock-freeプログラミングに影響するかについて触れる</li> </ul> <h2><a href=#tboost-stm id=tboost-stm>TBoost.STMエンジン:コミット時無効化を使用したSoftware Transactional Memoryの効率化</a></h2> <ul> <li>Reducing the Integration Complexity of Software Transactional Memory with TBoost.STM</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#vicente-j-botet-escriba target=_blank>Vicente J. Botet Escriba</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#justin-gottschlich target=_blank>Justin Gottschlich</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#dwight-y-winkler target=_blank>Dwight Y. Winkler</a></li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>ここでは、具体的なTBoost.STMの内部エンジンの現状、トランザクションコンフリクトの検出、トランザクションがコミットできるかどうかを決定するプロセスを調査する。多くのtransactional memory(TM)は矛盾検知の最適化に専念するが、ほぼ全てのTMがトランザクションのコミット段階で同じ矛盾検知戦略を行う。つまり、彼らはコミット時に検証を行うのである。そこでは、トランザクションが、以前にコミットされたトランザクションによってコンフリクトチェックされる。コミット時検証(commit-time validation)が限られた競合を示す作業量に対して効率的な間、それは競合した作業量のために並列性をきびしく制限できる。</p> <p>ここでは、TBoost.STMがこのモデルからどう逸れるかを説明し、コミット時無効化(commit-time invalidation)を使用することでコミットする前に飛行中(コミットされていない)トランザクションがそれらのコンフリクトを全て解決する戦略について話す。コミット時無効化は競合マネージャ(CM:contention manager)にコミット時検証を通じて利用不可能なデータを供給し、CMが決定にBoost Concurrencyを作ることを可能にする。コミット時無効化はまた、メモリ集約的なトランザクションのためにコミット時検証より著しく少ない操作を必要とし、動的に検出されたread-onlyトランザクションのための操作と保証、どんなトランザクションでもO(N)時間で完全な不透明性を保証する(インクリメンタルな検証のO(N^2)より速い)。作業量競合の実験結果は、私たちの効率的なコミット時無効化されたSTMは、TL2(最高水準のSTM)より3倍速かった。</p> <p>しかし、コミット時無効化だけでは不十分である。プログラマはそれらがこの競合検出戦略の利点を完全に利用するために実行している作業量のための効率的な競合マネージャに書く方法を知らなければならない。私たちは、プログラマがどのように自身の競合マネージャに書くか、そして正しい競合マネージャが実行される作業量に基づくTBoost.STMの性能を根本的にどうしたら向上させることができるかを調査する。</p> <h2><a href=#spirit-v2 id=spirit-v2>Using Spirit V2: Qi and Karma</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#michael-caisse target=_blank>Michael Caisse</a></li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>機械、センサー、機材、クライアント/サーバーコミュニケーション、ファイル形式でさえ...コミュニケーションストリームの解析と生成はどこでも見るだろう。多くの場合、これらのタスクはその場限りの解決策を勧めるのに十分に単純であるか、あるいは小さい。Spirit 2.1ライブラリは、それらの「quick hacks」に取り組むのに十分に単純で、AST生成のために容易に拡張できる十分な機能のモデルを提供する。</p> <p>このセッションは、Spiritライブラリのパーサーとジェネレーター(Qi/Karma)による現実の経験を調査する。様々な製品の中で使用された、様々な小型/中型のパーサー/ジェネレーターを見るとともに、私たちは「rules-of-thumb」、およびQi/Karmaを持ったパーサー/ジェネレータードメインに取り組むためのガイドラインを確立するだろう。このセッションは、使用可能なXMLパーサーと、単純化されたXPathのようなノード抽出器の実装で終える。</p> <p>このセッションは、いくつかのレクチャーと、多くのチュートリアルを含む。<br> 出席者は、知識と、Spirit Qi/Karmaで解析し生成することを始めるツールを持ち帰るだろう。</p> <h2><a href=#boost-test id=boost-test>Production use of Boost.Test</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#gennadiy-rozental target=_blank>Gennadiy Rozental</a></li> <li>形式 : 講義</li> <li>トラック : Track I 2010</li> </ul> <p>このセッションでは、プロダクションコンポーネントにおいてのBoost.Testの様々な使用法のシナリオをカバーする。<br> とくに、以下の主題をカバーする:</p> <ul> <li>関数実行を保護する<code>execution_monitor</code>の使用法。</li> <li>高水準なプログラム実行保護のための<code>program_execution_monitor</code>の使用法。様々な配置オプション。<ul> <li>(New) 浮動小数点例外の取り扱い。</li> <li>(New) コールバックでの罠</li> </ul> </li> <li>(New) 生産コンポーネントにおけるBoostテストツールの使用法。</li> <li>単体テストにおいて:実装自体の内部を構築コンポーネントユニットテストする2つのアプローチ:<ul> <li>a) コンパイル時のスイッチを使用する</li> <li>b) コンソールテスト実行と、共有ライブラリとして組み込まれた実装を使用する</li> </ul> </li> </ul> <h2><a href=#asio-based-flash-xml-server id=asio-based-flash-xml-server>An Asio Based Flash XML Server</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#michael-caisse target=_blank>Michael Caisse</a></li> <li>形式 : 講義</li> <li>トラック : Track I 2010</li> </ul> <p>Reactiveシステムはいたるところで見つけられる。多くの待ちスレッドでそれらを実装する誘惑は強くなりえる。しかし、結果はほとんどいつも期待はずれである。</p> <p>Boost.Asioライブラリは、特定のクラスがネットワーク、シリアルポートI/O、タイマー、およびその他に向けられている状態で非同期なリソースを扱うためのフレームワークを提供する。このセッションでは、様々なシリアル入出力ハードウェアコンポーネントから接続されたFlashディスプレイへのデータストリームを送るサーバーを構築するつもりである。以前のセッションのときに開発したQiパーサーとKarmaジェネレータは、それらの適切な目的地へとシャッフルされるASTを作成するのに使われるだろう。</p> <p>この講演/チュートリアルは、Flash XML Socketからサーバーを組み合わせてデータストリーミングし、要求を受け取ることができるようにAsio、Spirit、Fusion、Phoenix、Smart_ptr、Thread、FunctionとBindを含むライブラリを使用するだろう。<br> 出席者は、彼ら自身のAsioベースサーバーを作成するために、Asioモデルと様々な実装パターンを理解することになるだろう。</p> <h2><a href=#msm-v2 id=msm-v2>The Meta State Machine Library V2</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#christophe-henry target=_blank>Christophe Henry</a></li> <li>形式 : チュートリアル</li> <li>トラック : Track I 2010</li> </ul> <p>BoostCon09でのMSM v1に関する私のアーティクルは、MDD(モデル駆動開発)アプローチと呼ばれるMDA(モデル駆動アーキテクチャ)を促進するというゴールをもつライブラリの主な特徴を示した。具体的に、その話はMSMの記述的に表現する性質を主張した。この論文は初めに、メインサポートされたUML機能を要約し、MSM v2によって提供される新たなフロントエンドでのそれらの使用法を示すだろう。第2部では、MDDコンテキストにおいて使用可能なより多くの能力の提供により、いまMSMがどのようにMDD法をより先に進めさせたかを知ることになるだろう。</p> <h2><a href=#overview-of-transactional-memory id=overview-of-transactional-memory>Transactional Memoryの概観</a></h2> <ul> <li>Overview of Transactional Memory Day</li> <li>スピーカー : Tatiana Shpeisman</li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>Transactional Memory(TM)は並列プログラミングを単純化し、制限のない実行モデルをサポートする現代の並列制御パラダイムである。この終日セッションは、それらの最近のTM研究開発について議論するために業界と学会のエキスパートを集める。Boost、IBM、Intel、Microsoft、およびSun Microsystemsから招待された講演者は、最新作の概要を提供してくれるだろう。セッションは彼らがTMの短期的、あるいは長期的な挑戦についての考えを示すところでパネルディスカッションを締めくくる。最後に、聴衆からの質問に答える。</p> <h2><a href=#ame-pattern-library id=ame-pattern-library>AME Patterns Library: モデリング、認識、シーケンシャルパターンの統合のためのジェネリックライブラリ</a></h2> <ul> <li>AME Patterns Library: a generic library for modeling, recognition, and synthesis of sequential patterns</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#stjepan-rajko target=_blank>Stjepan Rajko</a></li> <li>形式 : チュートリアル</li> <li>トラック : Track I 2010</li> </ul> <p>このチュートリアルは、モデリング、認識、シーケンシャルパターンの統合のためのオープンソースのジェネリックC++ライブラリであるAMEパターンライブラリについて発表する。</p> <p>このライブラリは、ジェスチャーや音声認識などのアプリケーション、およびそのようなパターンの統合に役立つ。また、隠れマルコフモデル(Hidden Markov Model)などのモデルのための汎用ライブラリとして使用することができる。コンセプトベースのジェネリックプログラミングの使用は、ライブラリに大きな柔軟性を与える。パターン解析が多くのドメインにまたがるので、それは役立つだろう。</p> <p>また、このライブラリはさらに、プログラミングの計算量、柔軟性、汎用性、およびコンパイルタイムの異なるトレードオフを提供する、いくつかのAPIレベルを提供する。</p> <h2><a href=#type-erasure id=type-erasure>Type Erasure</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#nevin-liber target=_blank>Nevin Liber</a></li> <li>形式 : 講義</li> <li>トラック : Track I 2010</li> </ul> <p>C++ Template Metaprogrammingで見つかった定義から始め、Type Erasureとは何かと、それがどのような利点とコストがあるかについて話す。継承ベースのインタフェースから、それをType Erasureで変換する例から始める。Boost.AnyとBoost.Functionの簡易実装をカバーする予定だ。</p> <p>regular型とクラスの概念について触れる。( <a href=http://stlab.adobe.com/wiki/index.php/Image:2008_06_26_classes_that_work.pdf target=_blank>http://stlab.adobe.com/wiki/index.php/Image:2008_06_26_classes_that_work.pdf</a> )</p> <p>それと共に、Copyable/Assignable型のコンテナを使用することでBoost.shared_ptrとBoost.Pointer Containerを比較する。</p> <h2><a href=#dsel-design id=dsel-design>Protoによる実用的なDSELの設計</a></h2> <ul> <li>Practical DSEL Design with Proto</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#eric-niebler target=_blank>Eric Niebler</a></li> <li>形式 : 講義</li> <li>トラック : Track I 2010</li> </ul> <p>この発表は、Boost.Protoで有用なDSELを急速に構築する方法に注目する。</p> <p>このセッションは、数個の現実世界のDSELの設計と実装に踏み出すだろう。簡単な例(例えば、Boost.Assignのmake_list_of())から始めて、中級(例えば、Howard Hinnantのfutureグループ)、最後に、単純化されたPhoenixライブラリの設計について解説する。現実世界のライブラリ設計問題への解決策に重点を置く。特定の現実世界の問題を通じて、ProtoによってC++でそれを実装する価値があるように、一般的なDSELの価値が明白になるだろう。また、コンパイル時間とテンプレートのエラーメッセージについて議論する。</p> <h2><a href=#network-library-implementation id=network-library-implementation>柔軟なヘッダオンリーC++ネットワークライブラリ実装の手法</a></h2> <ul> <li>Techniques in Flexible Header-Only C++ Network Library Implementations</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#dean-michael-berris target=_blank>Dean Michael Berris</a></li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>この論文は、Boost.Asio上に単純ではあるが強力なヘッダオンリーC++ネットワークライブラリを提供するcpp-netlibプロジェクトによって使用された様々な手法に重点を置く。</p> <p>一般的なプログラミング法則に従うベストプラクティスから発生している一方、使用される手法のうちのいくつかは他の既存のライブラリから借りられる。この論文は、共通メッセージ型、型安全なURIパーサーおよびオブジェクト表現の非常にモジュラーで柔軟な実装を達成するために使用されるイディオムと同様にライブラリの異なる部品の構成およびセマンティクス的に一貫したHTTPクライアントを強調することを目標とする。</p> <p>この論文は、ライブラリの様々なモジュールの実装の全体にわたって使用される現代C++の手法に関する調査と、同様にcpp-netlibプロジェクトへの入門として役立つ。</p> <h2><a href=#mime id=mime>A MIME library for Boost</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#marshall-clow target=_blank>Marshall Clow</a></li> <li>形式 : lecture</li> <li>トラック : Track II 2010</li> </ul> <p>インターネットプロトコル中のデータをカプセル化する最も一般的な方法はMIME(Multipurpose Internet Mail Extensions:多目的インターネットメール拡張)を使用することである。このフォーマットはHTTP、emailおよび他の多くのプロトコルの中で使用される。</p> <p>私は、作成、解析、およびMIME構造の操作のために、Boostを包含するという視点から開始し、このライブラリを作る際の設計選択について話そう。(提案された)Boost.MIMEライブラリはDean Michael Berrisのネットワークライブラリによって使用される(だろう)。</p> <p>MIME処理ライブラリは、(スレッド、ネットワークI/Oおよび状態マシンを合わせた)ネットワークプロトコルを実装するために必要とされる基本ビルディングブロックのうちの1つである。</p> <h2><a href=#nt2 id=nt2>The Numerical Template Toolbox:高性能コンピューティングのための加速(Boost)されたGeneric配列ライブラリ</a></h2> <ul> <li>The Numerical Template Toolbox:BOOST’ed Generic Array Library for High Performance Computing</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#joel-falcou target=_blank>Joel Falcou</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#jean-thierry-lapreste target=_blank>Jean-Thierry Lapreste</a></li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>配列のようなデータ構造上での集中的、あるいは非自明なコンピューティングを行うことは、科学的なコンピューティング、ビデオゲーム開発、および他のフィールドで最も一般的なタスクのうちのひとつである。この事実は、そのようなタスクを行うために、ツール、言語、そしてライブラリといったかなりの数のものによってバックアップされる。私たちが自身をC++に基づいた解決策に制限する場合、1ダース以上のライブラリはテンプレートメタプログラミングに基づいたBlitz++やEigen2といったBLAS/LAPACKのC++バインディングが存在している。これらのライブラリの全てが良いパフォーマンス、または良い抽象化を提供する場合、そられのどれも非常に多くのユーザー型に適合するようには思えない。</p> <p>ここで私たちは、Numeric Template Toolbox(NT2)を提供する。これはテンプレートメタプログラミングで、配列に基づいた演算ライブラリで、直感的であるが拡張可能なユーザーAPIと開発者SDKを提供している間に、メモリハンドリングと自動的な並行処理のようなアーキテクチャの懸念に関して良い性能を出すためにrock-solid実装を目指す。また、全体のライブラリ設計とパフォーマンスのためにBoost.Components(MPI, Proto, Fusion, PP, Serialization, etc...)を使用しているという付加価値を強調する。</p> <h2><a href=#functional-programming id=functional-programming>C++による関数型プログラミング</a></h2> <ul> <li>Functional Programming in C++</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#david-sankel target=_blank>David Sankel</a></li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>関数型プログラミング(FP)手法は、一般的で、簡潔で、合成可能で、正確なコードを生成する。最近まで、これらの手法の多くは学究的な世界と難解プログラミング言語(esoteric programming language)の領域に制限されていた。新たなC++とboostでの開発は最終的にこれらの高度な技術にアクセス可能にする。</p> <p>このセッションの最初では、いま可能なFP手法のHowとWhyを調査する。私たちは代数のデータ型、ポイントフリー高階関数、純粋、ジェネリックプログラミング、型族(Type Families)、圏論および実用的な関数記号をカバーする。</p> <p>セッションの第2部では、FPの事例研究について話す。</p> <ul> <li>第1に、運動コントローラーに基づいた組み込みドメイン特化言語(EDSL)。</li> <li>第2に、他に類を見ないジェネリックなXMLシリアライズフレームワーク。</li> </ul> <h2><a href=#logic id=logic>C++による論理型パラダイム</a></h2> <ul> <li>Logic Paradigm for C++</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#roshan-naik target=_blank>Roshan Naik</a></li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>論理型パラダイム(LP)は、オブジェクト指向、命令型、関数型のパラダイムと比較して、主流言語では表現をほとんど見ない、強力でチューリング完全なプログラミングパラダイムである。<br> LPは時々、プログラミングの聖杯と呼ばれるものへのコンピュータ科学の重要なアプローチである。</p> <p><strong>「ユーザーが問題を延べ、コンピュータがそれを解決する」</strong></p> <p>理論の起源は、アリストテレスが論理的な推論に厳格さをもたらすために形式論理を構築した約紀元前300年までさかのぼる。ラッセルとホワイトヘッドが数学をすべて実行することができるかもしれないことを示した時、理論は、現代の論理へ最近(1900年の初め)成熟した。</p> <p>この話は、Boostへ提案することを目的とする新たなオープンソースライブラリであるCastorを中心に展開する。LPをサポートするBoostの能力の拡張に加えて、これはBoostプログラマがLPと関数型のパラダイムからの機能を組み合わせて、イテレータや範囲の必要なしでストリーム、アルゴリズムおよびコンテナの統合を可能にするだろう。</p> <p>この話は、C++でLPの基本的な入門を提供する。そして、あなたをこのパラダイムについて考えるようにするための多くの例が続く。私たちは、既存のBoostとC++の概念で、それがどのように自然に混じるか話す。最後に、プログラマが自由にパラダイムを混合しマッチすることができる場合に強力なマルチパラダイム解決がどのように出現するか確かめるために範囲を広げる。LPのきれいで深い統合が、C++を源泉とする多くのデザインパターンがいまだ発見されていないことがこの話で明確になるだろう。</p> <h2><a href=#qt id=qt>QtとBoostによるクロスプラットフォーム開発</a></h2> <ul> <li>Cross-platform development with Qt and Boost</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#joao-p-r-abecasis target=_blank>Joao P. R. Abecasis</a></li> <li>形式 : チュートリアル</li> <li>トラック : Track I 2010</li> </ul> <p>このワークショップの意図は、Qtライブラリの簡潔な概要と、QtとBoostを混合するための現在の現実的解決策を提供することである。</p> <p>とくに私は、MOCモデルとQObjectモデル(BoostとQtを混合したプロジェクトのための構造システムインテグレーション)を調べ、Boostベースのコンポーネントを小さなサンプルアプリケーションに基づくQObjectシグナル/スロット実装に融合させる様相を調査するつもりである。</p> <p>私は、相互運用問題と、それがどのように改善することができるかについてBoostコミュニティからフィードバックを集めたいと考えている。</p> <h2><a href=#spirit-history-and-evolution id=spirit-history-and-evolution>Spiritの歴史と進化</a></h2> <ul> <li>Spirit: History and Evolution</li> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#joel-de-guzman target=_blank>Joel de Guzman</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#hartmut-kaiser target=_blank>Hartmut Kaiser</a></li> <li>形式 : 講義</li> <li>トラック : Track II 2010</li> </ul> <p>今年、私たちは、90年代初期に非常に大きいGUIライブラリから枝分かれし、2001年にBoostデビューしたSpiritの10周年を祝福する。Spiritは、控えめな7ヘッダファイルのライブラリから成長して最も洗練されたBoostライブラリのうちの一つとなり、途中からBoost.Fusion, Boost.Phoenix, Boost.Wave, Boost.Protoライブラリの培養器となった。</p> <p>私たちは、歴史的観点からSpirit(そして、それに刺激されたライブラリ)を紹介したい。この発表は、およそ10年間で少なくても4つのライブラリへと発展させ、演算子を虐待し、クレイジーなテンプレートメタプログラムを好む、正真正銘のマッドサイエンティストであるBoost作者の経験と観点から、起爆剤を提供することを目標とする。もちろん、あちこちでC++トリックを誇示するのであれば、私たちはそれを助けることはできないが、私たちがそれを行うのと同じくらい、できるだけ簡単にすることができる。</p> <h2><a href=#future-of-boost id=future-of-boost>Future of Boost Panel ’10</a></h2> <ul> <li>スピーカー : <a href=http://boostcon.boost.org/program/previous-years/2010-program/#dave-abrahams target=_blank>Dave Abrahams</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#beman-dawes target=_blank>Beman Dawes</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#jeff-garland target=_blank>Jeff Garland</a>, <a href=http://boostcon.boost.org/program/previous-years/2010-program/#douglas-gregor target=_blank>Douglas Gregor</a></li> <li>形式 : パネル</li> </ul> <p>Boostには、メーリングリストの話題上で、丁寧で、役立つポストを適度に走らせる少数のモデレーターグループがある。さらに、彼らはウェブサイト、ソースリポジトリ、および他の行政機構の内部を管理する。また、大事なことを一つ言い残していましたが、モデレータは、Boostを促進するための委員会を監督する非公式の幹部の役割を務める。</p> <p>このセッションでは、モデレータにそれぞれBoostの将来のビジョンに関して5分ずつ話してもらう。しかし、セッションの大部分は聴衆からの質問と提案に専念するだろう。これは、Boostコミュニティの方向性に関して何でも聞けて、提案できる絶好のチャンスである。例えば、特別な政策、ツール、あるいはあなたの考えを採用する。</p> <h2>翻訳者</h2> <p>Akira Takahashi</p></div> </div> </div> </div> <div class="col-sm-3 col-sm-pull-9"> <div class=tree> <ul> <li> <a href=../communities.html>コミュニティ</a> </li> <li> <a href=../howtobuild.html>Boostライブラリのビルド方法</a> </li> <li> <a href=../mailing-lists.html>メーリングリスト</a> </li> <li> <a href=../the-team.html>運営メンバ</a> </li> <li> <a href=../used_project.html>Boostを使用しているプロジェクト</a> </li> <li class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive.html>アーカイブ</a> <ul> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs.html>旧Boost日本語化プロジェクト</a> <ul> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> document <ul> <li style="display: none"> <a href=../archive/boost_docs/document/error_handling.html>エラーと例外のハンドリング</a> </li> <li style="display: none"> <a href=../archive/boost_docs/document/generic_exception_safety.html>ジェネリックコンポーネントにおける例外安全性</a> </li> <li style="display: none"> <a href=../archive/boost_docs/document/generic_programming.html>ジェネリックプログラミング手法</a> </li> <li style="display: none"> <a href=../archive/boost_docs/document/int_const_guidelines.html>Coding Guidelines for Integral Constant Expressions</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs.html>各ライブラリの翻訳ドキュメント</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/compatibility.html>Boost.Compatibilty ライブラリ</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/mem_fn.html>mem_fn.hpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/static_assert.html>§ヘッダファイル(Header) &lt;[boost/static_assert.hpp](http://www.boost.org/doc/libs/1_31_0/boost/static_assert.hpp)&gt;</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/type_traits.html>Header &lt;[boost/type_traits.hpp](http://www.boost.org/doc/libs/1_31_0/boost/type_traits.hpp)&gt;</a> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/array.html>Array wrapper library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/array/array.html>arrayクラス, 固定サイズ配列のSTLコンテナ</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/array/array.hpp.html>array.hpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/array/array1.cpp.html>array1.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/array/array2.cpp.html>array2.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/array/array3.cpp.html>array3.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/array/array4.cpp.html>array4.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/array/array5.cpp.html>array5.cpp</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/bind.html>bind.hpp</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/bind/bind_as_compose.cpp.html>bind_as_compose.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/bind/ref.html>ref.hpp</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/compose.html>非推奨: Compose library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/compose/compose.html>Compose Function Object Adapters</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/compose/compose.hpp.html>boost/compose.hpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/compose/compose1.cpp.html>compose1.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/compose/compose2.cpp.html>compose2.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/compose/compose3.cpp.html>compose3.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/compose/compose4.cpp.html>compose4.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/compose/print.hpp.html>libs/compose/print.hpp</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/concept_check.html>The Boost Concept Check Library (BCCL)</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/concept_check/bibliography.html>参考文献</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/concept_check/concept_covering.html>コンセプトの充当化と原型</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/concept_check/creating_concepts.html>コンセプト・チェック用クラスの作成</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/concept_check/implementation.html>コンセプト・チェックの実装</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/concept_check/prog_with_concepts.html>Programming with Concepts</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/concept_check/reference.html>リファレンス</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/concept_check/stl_concept_check.cpp.html>libs/concept_check/stl_concept_check.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/concept_check/stl_concept_covering.cpp.html>libs/concept_check/stl_concept_covering.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/concept_check/using_concept_check.html>コンセプト・チェックの利用</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/conversion.html>Boost Conversion Library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/conversion/cast.html>Header boost/cast.hpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/conversion/cast_test.cpp.html>libs/conversion/cast_test.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/conversion/lexical_cast.html>Header boost/lexical_cast.hpp</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/date_time.html>Boost Date-Time Library Documentation</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/DesignGoals.html>全体的な設計の目標</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/basic_terms.html>Date-Timeの専門用語</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/build_info.html>Date-Time Build-Compiler Information</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/calculations.html>Date-Time Concepts - 計算</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/class_date.html>gregorian::date</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/class_date_duration.html>gregorian::date_duration</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/class_date_period.html>gregorian::date_period</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/class_gregorian_calendar.html>gregorian::gregorian_calendar</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/class_ptime.html>posix_time::ptime Documentation</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/class_time_duration.html>posix_time::time_duration</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/class_time_period.html>posix_time::time_period</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/date_algorithms.html>Date Generators / Algorithms</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/date_iterators.html>gregorian::date iterators</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/dates_as_strings.cpp.html>dates_as_strings.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/days_alive.cpp.html>days_alive.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/days_till_new_year.cpp.html>days_till_new_year.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/gregorian.html>Gregorian Date System Documentation</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/local_time_adjust.html>Local Time Adjustment</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/local_utc_conversion.cpp.html>local_utc_conversion.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/period_calc.cpp.html>period_calc.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/posix_time.html>Posix Time System Documentation</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/print_holidays.cpp.html>print_holidays.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/print_hours.cpp.html>print_hours.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/print_month.cpp.html>print_month.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/references.html>参考文献</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/time_iterators.html>posix_time::time iterators</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/time_math.cpp.html>time_math.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/time_periods.cpp.html>time_periods.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/date_time/tradeoffs.html>トレードオフ:安定性、予測性と近似</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/disjoint_sets.html>Disjoint Sets(互いに素な集合)</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/disjoint_sets/bibliography.html>参考文献</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/format.html>Boost Format library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/format/choices.html>Type-safe 'printf-like' format class</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/format/format.html>The Boost Format library</a> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> example <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/format/example/sample_advanced.cpp.html>libs/format/example/sample_advanced.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/format/example/sample_formats.cpp.html>libs/format/example/sample_formats.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/format/example/sample_new_features.cpp.html>libs/format/example/sample_new_features.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/format/example/sample_userType.cpp.html>libs/format/example/sample_userType.cpp</a> </li> </ul> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/function.html>Header `<boost/function.hpp>`</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/function/faq.html>boost::function FAQ</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/function/reference.html>Boost.Function Reference Manual</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/function/tutorial.html>Boost.Function Tutorial</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/functional.html>Improved Function Object Adapters</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/functional/binders.html>Binders</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/functional/function_test.cpp.html>libs/functional/function_test.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/functional/function_traits.html>Function Object Traits</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/functional/mem_fun.html>Member Function Adapters</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/functional/negators.html>Negators</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/functional/ptr_fun.html>Function Pointer Adapters</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/graph.html>the Boost Graph Library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/AdjacencyGraph.html>AdjacencyGraph</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/AdjacencyMatrix.html>AdjacencyMatrix</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/BFSVisitor.html>BFS(幅優先探査)Visitor Concept</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/BasicMatrix.html>BasicMatrix</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/BellmanFordVisitor.html>Bellman Ford Visitor Concept</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/BidirectionalGraph.html>BidirectionalGraph</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/Buffer.html>Buffer Concept</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/ColorValue.html>ColorValue</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/DFSVisitor.html>DFS Visitor Concept</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/DijkstraVisitor.html>Dijkstra Visitor Concept</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/EdgeListGraph.html>EdgeListGraph</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/EdgeMutableGraph.html>Edge Mutable Graph</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/EventVisitor.html>EventVisitor Concept</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/EventVisitorList.html>EventVisitorList Concept</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/acknowledgements.html>謝辞</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/adjacency_iterator.html>Adjacency Iterator Adaptor</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/adjacency_list.html>adjacency_list</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/adjacency_list_traits.html>adjacency_list_traits</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/adjacency_matrix.html>adjacency_matrix</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/bandwidth.html>bandwidth</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/bellman_ford_shortest_paths.html>bellman_ford_shortest_paths</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/bellman_visitor.html>bellman_visitor&lt;EventVisitorList&gt;</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/bfs_visitor.html>bfs_visitor&lt;EventVisitorList&gt;</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/bgl_named_params.html>bgl_named_params&lt;Param, Type, Rest&gt;</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/bibliography.html>参考文献</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/breadth_first_search.html>breadth_first_search</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/breadth_first_visit.html>breadth_first_visit</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/connected_components.html>connected_components</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/constructing_algorithms.html>BGLでグラフアルゴリズムを構築する</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/copy_graph.html>copy_graph</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/cuthill_mckee_ordering.html>cuthill_mckee_ordering</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/dag_shortest_paths.html>dag_shortest_paths</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/depth_first_search.html>depth_first_search</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/depth_first_visit.html>depth_first_visit</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/dfs_visitor.html>dfs_visitor&lt;EventVisitorList&gt;</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/dijkstra_shortest_paths.html>dijkstra_shortest_paths</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/dijkstra_visitor.html>dijkstra_visitor&lt;EventVisitorList&gt;</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/distance_recorder.html>distance_recorder&lt;DistanceMap, EventTag&gt;</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/edge_list.html>edge_list&lt;EdgeIterator, ValueType, DiffType&gt;</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/edmunds_karp_max_flow.html>edmunds_karp_max_flow</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/exception.html>boost/graph/exception.hpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/graph_theory_review.html>基本的なグラフ理論の復習</a> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> examples <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/bellman-example.cpp.html>libs/graph/example/bellman-example.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/bfs-example.cpp.html>libs/graph/example/bfs-example.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/bfs-example2.cpp.html>libs/graph/example/bfs-example2.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/bfs.cpp.html>libs/graph/example/bfs.cpp.md</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/connected_components.cpp.html>libs/graph/example/connected_components.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/cuthill_mckee_ordering.cpp.html>libs/graph/example/cuthill_mckee_ordering.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/dag_shortest_paths.cpp.html>libs/graph/example/dag_shortest_paths.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/dave.cpp.html>libs/graph/example/dave.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/dfs-example.cpp.html>libs/graph/example/dfs-example.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/dfs_parenthesis.cpp.html>libs/graph/example/dfs_parenthesis.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/dijkstra-example.cpp.html>libs/graph/example/dijkstra-example.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/edmunds-karp-eg.cpp.html>libs/graph/example/edmunds-karp-eg.cpp</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/graph/examples/family-tree-eg.cpp.html>libs/graph/example/family-tree-eg.cpp</a> </li> </ul> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> io <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/io/index.html>Boost Input/Output Library</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/io/ios_state.html>Header &lt;boost/io/ios_state.hpp&gt;</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/lambda.html>The Boost Lambda Library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/lambda/apa.html>A. Rationale for some of the design decisions</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/lambda/ar01s02.html>2. Getting Started</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/lambda/ar01s03.html>3. Introduction</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/lambda/ar01s04.html>4. Using the library</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/lambda/ar01s05.html>5. Lambda expressions in details</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/lambda/ar01s06.html>6. Extending return type deduction system</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/lambda/ar01s07.html>7. Practical considerations</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/lambda/ar01s08.html>8. Relation to other Boost libraries</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/lambda/ar01s09.html>9. Contributors</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/lambda/bi01.html>Bibliography</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/math.html>Boost Math Library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/math/common_factor.html>Greatest Common Divisor & Least Common Multiple</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/math/octonion.html>Class octonion</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/math/quaternion.html>Class quaternion Documentation</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/math/special_functions.html>Special Functions Documentation</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/multi_array.html>Boost.MultiArray</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/multi_array/user.html>Boost 多次元配列ライブラリ (Boost.MultiArray)</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/pool.html>Boost Pool Library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/concepts.html>Poolの概念</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/copyright.html>Pool Copyright</a> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> implementation <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/alignment.html>アラインメント保証</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/ct_gcd_lcm.html>ct_gcd_lcm - コンパイル時 GCD および LCM</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/for.html>for - m4 FOR Macro</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/gcd_lcm.html>gcd_lcm - GCD and LCM</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/guard.html>guard - Auto-lock/unlock-er</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/mutex.html>mutex - Mutex</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/object_pool.html>Object Pool Implementation</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/pool.html>Pool の実装</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/pool_alloc.html>pool_alloc - Boost Pool Standard Allocators Implementation</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/pool_construct.html>Object Pool Constructors Generator</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/simple_segregated_storage.html>単純分離記憶域の実装</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/singleton.html>singleton - Singleton</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/implementation/singleton_pool.html>Singleton Pool の実装</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/pool/interfaces.html>Boost Pool Interfaces</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/interfaces/object_pool.html>object_pool - Boost Object Pool Allocator</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/interfaces/pool.html>Pool</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/interfaces/pool_alloc.html>pool_alloc - Boost Pool Standard Allocators</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/interfaces/simple_segregated_storage.html>単純分離記憶域</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/interfaces/singleton_pool.html>Singleton Pool</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/pool/interfaces/user_allocator.html>User Allocators</a> </li> </ul> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/preprocessor.html>Boost Preprocessor Library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/bibliography.html>参考文献</a> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> data <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/data/arrays.html>Arrays</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/data/lists.html>Lists</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/data/sequences.html>Sequences</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/data/tuples.html>Tuples</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> ref <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/add.html>BOOST_PP_ADD</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/add_d.html>BOOST_PP_ADD_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/and.html>BOOST_PP_AND</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/apply.html>BOOST_PP_APPLY</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_data.html>BOOST_PP_ARRAY_DATA</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_elem.html>BOOST_PP_ARRAY_ELEM</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_insert.html>BOOST_PP_ARRAY_INSERT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_insert_d.html>BOOST_PP_ARRAY_INSERT_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_pop_back.html>BOOST_PP_ARRAY_POP_BACK</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_pop_back_z.html>BOOST_PP_ARRAY_POP_BACK_Z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_pop_front.html>BOOST_PP_ARRAY_POP_FRONT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_pop_front_z.html>BOOST_PP_ARRAY_POP_FRONT_Z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_push_back.html>BOOST_PP_ARRAY_PUSH_BACK</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_push_front.html>BOOST_PP_ARRAY_PUSH_FRONT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_remove.html>BOOST_PP_ARRAY_REMOVE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_remove_d.html>BOOST_PP_ARRAY_REMOVE_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_replace.html>BOOST_PP_ARRAY_REPLACE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_replace_d.html>BOOST_PP_ARRAY_REPLACE_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_reverse.html>BOOST_PP_ARRAY_REVERSE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/array_size.html>BOOST_PP_ARRAY_SIZE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/assert.html>BOOST_PP_ASSERT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/assert_msg.html>BOOST_PP_ASSERT_MSG</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/assign_slot.html>BOOST_PP_ASSIGN_SLOT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/bitand.html>BOOST_PP_BITAND</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/bitnor.html>BOOST_PP_BITNOR</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/bitor.html>BOOST_PP_BITOR</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/bitxor.html>BOOST_PP_BITXOR</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/bool.html>BOOST_PP_BOOL</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/cat.html>BOOST_PP_CAT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/comma.html>BOOST_PP_COMMA</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/comma_if.html>BOOST_PP_COMMA_IF</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/compl.html>BOOST_PP_COMPL</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/config_extended_line_info.html>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/dec.html>BOOST_PP_DEC</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/deduce_d.html>BOOST_PP_DEDUCE_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/deduce_r.html>BOOST_PP_DEDUCE_R</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/deduce_z.html>BOOST_PP_DEDUCE_Z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/div.html>BOOST_PP_DIV</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/div_d.html>BOOST_PP_DIV_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/empty.html>BOOST_PP_EMPTY</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum.html>BOOST_PP_ENUM</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_binary_params.html>BOOST_PP_ENUM_BINARY_PARAMS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_binary_params_z.html>BOOST_PP_ENUM_BINARY_PARAMS_Z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_params.html>BOOST_PP_ENUM_PARAMS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_params_with_a_default.html>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_params_with_defaults.html>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_params_z.html>BOOST_PP_ENUM_PARAMS_Z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_shifted.html>BOOST_PP_ENUM_SHIFTED</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_shifted_params.html>BOOST_PP_ENUM_SHIFTED_PARAMS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_shifted_params_z.html>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_shifted_z.html>BOOST_PP_ENUM_SHIFTED_z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_trailing.html>BOOST_PP_ENUM_TRAILING</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_trailing_binary_params.html>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_trailing_binary_params_z.html>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_trailing_params.html>BOOST_PP_ENUM_TRAILING_PARAMS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_trailing_params_z.html>BOOST_PP_ENUM_TRAILING_PARAMS_Z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_trailing_z.html>BOOST_PP_ENUM_TRAILING_z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/enum_z.html>BOOST_PP_ENUM_z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/equal.html>BOOST_PP_EQUAL</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/equal_d.html>BOOST_PP_EQUAL_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/expand.html>BOOST_PP_EXPAND</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/expr_if.html>BOOST_PP_EXPR_IF</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/expr_iif.html>BOOST_PP_EXPR_IIF</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/filename_x.html>BOOST_PP_FILENAME_x</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/for.html>BOOST_PP_FOR</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/for_r.html>BOOST_PP_FOR_r</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/frame_finish.html>BOOST_PP_FRAME_FINISH</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/frame_flags.html>BOOST_PP_FRAME_FLAGS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/frame_iteration.html>BOOST_PP_FRAME_ITERATION</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/frame_start.html>BOOST_PP_FRAME_START</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/greater.html>BOOST_PP_GREATER</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/greater_d.html>BOOST_PP_GREATER_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/greater_equal.html>BOOST_PP_GREATER_EQUAL</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/greater_equal_d.html>BOOST_PP_GREATER_EQUAL_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/identity.html>BOOST_PP_IDENTITY</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/if.html>BOOST_PP_IF</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/iif.html>BOOST_PP_IIF</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/inc.html>BOOST_PP_INC</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/include_self.html>BOOST_PP_INCLUDE_SELF</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/indirect_self.html>BOOST_PP_INDIRECT_SELF</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/intercept.html>BOOST_PP_INTERCEPT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/is_iterating.html>BOOST_PP_IS_ITERATING</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/is_selfish.html>BOOST_PP_IS_SELFISH</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/iterate.html>BOOST_PP_ITERATE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/iteration.html>BOOST_PP_ITERATION</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/iteration_depth.html>BOOST_PP_ITERATION_DEPTH</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/iteration_finish.html>BOOST_PP_ITERATION_FINISH</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/iteration_flags.html>BOOST_PP_ITERATION_FLAGS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/iteration_limits.html>BOOST_PP_ITERATION_LIMITS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/iteration_params_x.html>BOOST_PP_ITERATION_PARAMS_x</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/iteration_start.html>BOOST_PP_ITERATION_START</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/less.html>BOOST_PP_LESS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/less_d.html>BOOST_PP_LESS_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/less_equal.html>BOOST_PP_LESS_EQUAL</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/less_equal_d.html>BOOST_PP_LESS_EQUAL_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/limit_dim.html>BOOST_PP_LIMIT_DIM</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/limit_for.html>BOOST_PP_LIMIT_FOR</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/limit_iteration.html>BOOST_PP_LIMIT_ITERATION</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/limit_iteration_dim.html>BOOST_PP_LIMIT_ITERATION_DIM</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/limit_mag.html>BOOST_PP_LIMIT_MAG</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/limit_repeat.html>BOOST_PP_LIMIT_REPEAT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/limit_slot_count.html>BOOST_PP_LIMIT_SLOT_COUNT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/limit_slot_sig.html>BOOST_PP_LIMIT_SLOT_SIG</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/limit_tuple.html>BOOST_PP_LIMIT_TUPLE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/limit_while.html>BOOST_PP_LIMIT_WHILE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/line.html>BOOST_PP_LINE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_append.html>BOOST_PP_LIST_APPEND</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_append_d.html>BOOST_PP_LIST_APPEND_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_at.html>BOOST_PP_LIST_AT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_at_d.html>BOOST_PP_LIST_AT_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_cat.html>BOOST_PP_LIST_CAT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_cat_d.html>BOOST_PP_LIST_CAT_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_cons.html>BOOST_PP_LIST_CONS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_enum.html>BOOST_PP_LIST_ENUM</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_enum_r.html>BOOST_PP_LIST_ENUM_R</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_filter.html>BOOST_PP_LIST_FILTER</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_filter_d.html>BOOST_PP_LIST_FILTER_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_first.html>BOOST_PP_LIST_FIRST</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_first_n.html>BOOST_PP_LIST_FIRST_N</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_first_n_d.html>BOOST_PP_LIST_FIRST_N_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_fold_left.html>BOOST_PP_LIST_FOLD_LEFT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_fold_left_2nd.html>BOOST_PP_LIST_FOLD_LEFT_2ND</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_fold_left_2nd_d.html>BOOST_PP_LIST_FOLD_LEFT_2ND_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_fold_left_d.html>BOOST_PP_LIST_FOLD_LEFT_d</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_fold_right.html>BOOST_PP_LIST_FOLD_RIGHT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_fold_right_2nd.html>BOOST_PP_LIST_FOLD_RIGHT_2ND</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_fold_right_2nd_d.html>BOOST_PP_LIST_FOLD_RIGHT_2ND_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_fold_right_d.html>BOOST_PP_LIST_FOLD_RIGHT_d</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_for_each.html>BOOST_PP_LIST_FOR_EACH</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_for_each_i.html>BOOST_PP_LIST_FOR_EACH_I</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_for_each_i_r.html>BOOST_PP_LIST_FOR_EACH_I_R</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_for_each_product.html>BOOST_PP_LIST_FOR_EACH_PRODUCT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_for_each_product_r.html>BOOST_PP_LIST_FOR_EACH_PRODUCT_R</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_for_each_r.html>BOOST_PP_LIST_FOR_EACH_R</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_is_cons.html>BOOST_PP_LIST_IS_CONS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_is_nil.html>BOOST_PP_LIST_IS_NIL</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_nil.html>BOOST_PP_LIST_NIL</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_rest.html>BOOST_PP_LIST_REST</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_rest_n.html>BOOST_PP_LIST_REST_N</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_rest_n_d.html>BOOST_PP_LIST_REST_N_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_reverse.html>BOOST_PP_LIST_REVERSE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_reverse_d.html>BOOST_PP_LIST_REVERSE_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_size.html>BOOST_PP_LIST_SIZE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_size_d.html>BOOST_PP_LIST_SIZE_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_to_tuple.html>BOOST_PP_LIST_TO_TUPLE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_to_tuple_r.html>BOOST_PP_LIST_TO_TUPLE_R</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_transform.html>BOOST_PP_LIST_TRANSFORM</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/list_transform_d.html>BOOST_PP_LIST_TRANSFORM_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/local_iterate.html>BOOST_PP_LOCAL_ITERATE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/local_limits.html>BOOST_PP_LOCAL_LIMITS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/local_macro.html>BOOST_PP_LOCAL_MACRO</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/lparen.html>BOOST_PP_LPAREN</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/lparen_if.html>BOOST_PP_LPAREN_IF</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/max.html>BOOST_PP_MAX</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/max_d.html>BOOST_PP_MAX_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/min.html>BOOST_PP_MIN</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/min_d.html>BOOST_PP_MIN_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/mod.html>BOOST_PP_MOD</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/mod_d.html>BOOST_PP_MOD_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/mul.html>BOOST_PP_MUL</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/mul_d.html>BOOST_PP_MUL_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/nil.html>BOOST_PP_NIL</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/nor.html>BOOST_PP_NOR</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/not.html>BOOST_PP_NOT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/not_equal.html>BOOST_PP_NOT_EQUAL</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/not_equal_d.html>BOOST_PP_NOT_EQUAL_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/or.html>BOOST_PP_OR</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/relative_finish.html>BOOST_PP_RELATIVE_FINISH</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/relative_flags.html>BOOST_PP_RELATIVE_FLAGS</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/relative_iteration.html>BOOST_PP_RELATIVE_ITERATION</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/relative_start.html>BOOST_PP_RELATIVE_START</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat.html>BOOST_PP_REPEAT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_1st.html>BOOST_PP_REPEAT_1ST</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_2nd.html>BOOST_PP_REPEAT_2ND</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_3rd.html>BOOST_PP_REPEAT_3RD</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_from_to.html>BOOST_PP_REPEAT_FROM_TO</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_from_to_1st.html>BOOST_PP_REPEAT_FROM_TO_1ST</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_from_to_2nd.html>BOOST_PP_REPEAT_FROM_TO_2ND</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_from_to_3rd.html>BOOST_PP_REPEAT_FROM_TO_3RD</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_from_to_d.html>BOOST_PP_REPEAT_FROM_TO_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_from_to_d_z.html>BOOST_PP_REPEAT_FROM_TO_D_z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_from_to_z.html>BOOST_PP_REPEAT_FROM_TO_z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/repeat_z.html>BOOST_PP_REPEAT_z</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/rparen.html>BOOST_PP_RPAREN</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/rparen_if.html>BOOST_PP_RPAREN_IF</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/slot.html>BOOST_PP_SLOT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/stringize.html>BOOST_PP_STRINGIZE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/sub.html>BOOST_PP_SUB</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/sub_d.html>BOOST_PP_SUB_D</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/tuple_eat.html>BOOST_PP_TUPLE_EAT</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/tuple_elem.html>BOOST_PP_TUPLE_ELEM</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/tuple_rem.html>BOOST_PP_TUPLE_REM</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/tuple_reverse.html>BOOST_PP_TUPLE_REVERSE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/tuple_to_list.html>BOOST_PP_TUPLE_TO_LIST</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/value.html>BOOST_PP_VALUE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/while.html>BOOST_PP_WHILE</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/while_d.html>BOOST_PP_WHILE_d</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/ref/xor.html>BOOST_PP_XOR</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> terms <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/terms/evaluated.html>評価済み引数</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/terms/named_external.html>名前付けされた外部引数</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> topics <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/topics/evaluated_slots.html>Evaluated Slots</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/topics/file_iteration.html>File Iteration</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/topics/incompatible.html>非互換性</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/topics/local_iteration.html>Local Iteration</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/topics/motivation.html>動機</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/topics/problems.html>プリプロセッサに関する既知の問題</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/topics/reentrancy.html>Reentrancy</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/preprocessor/topics/techniques.html>テクニック集</a> </li> </ul> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/random.html>Boost Random Number Library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/random/random-concepts.html>Random Number Generator Library Concepts</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/rational.html>Rational Number Library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/rational/rational.html>Rational Numbers</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/regex.html>regex++, Index</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/regex/appendix.html>Regex++, Appendices.</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/regex/faq.html>Regex++, FAQ.</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/regex/format_string.html>Regex++, Format String Reference.</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/regex/hl_ref.html>Class RegEx</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/regex/introduction.html><a id="intro">Introduction</a></a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/regex/posix_ref.html>Regex++, POSIX API Reference</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/regex/syntax.html>Regex++, Regular Expression Syntax</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/regex/template_class_ref.html>Regex++ template class reference.</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/regex/traits_class_ref.html>Regex++, Traits Class Reference.</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/signals.html>Boost.Signals</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/design.html>Boost.Signals 設計</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/design_rationale.html>Boost.Signals 設計の論拠</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/faq.html>Boost.Signals FAQ</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/history.html>Boost.Signals Revision History</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/tutorial.html>Boost.Signals チュートリアル</a> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> reference <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/reference/connection.html>Boost.Signals: ヘッダ &lt;[boost/signals/connection.hpp](http://www.boost.org/doc/libs/1_31_0/boost/sig</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/reference/last_value.html>Boost.Signals: クラステンプレート `last_value`</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/reference/signal.html>Boost.Signals: ヘッダ &lt;boost/signal.hpp&gt;</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/reference/signalN.html>Boost.Signals: クラステンプレート `signalN`</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/reference/slot.html>Boost.Signals: クラステンプレート slot</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/reference/trackable.html>Boost.Signals: クラス `trackable`</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/signals/reference/visit_each.html>関数テンプレート `visit_each`</a> </li> </ul> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/smart_ptr.html>Smart Pointer Library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/smart_ptr/compatibility.html>Smart Pointer Changes</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/smart_ptr/scoped_array.html>scoped_array class template</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/smart_ptr/scoped_ptr.html>scoped_ptr class template</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/smart_ptr/shared_array.html>shared_array class template</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/smart_ptr/shared_ptr.html>shared_ptr class template</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/smart_ptr/smart_ptr.html>Smart Pointers</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/smart_ptr/weak_ptr.html>weak_ptr class template</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/boost_docs/libs/tuple.html>The Boost Tuple Library</a> <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/tuple/design_decisions_rationale.html>Tuple Library : design decisions rationale</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/tuple/tuple_advanced_interface.html>Tuple library advanced features</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> utility <ul> <li style="display: none"> <a href=../archive/boost_docs/libs/utility/Assignable.html>Assignable</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/utility/CopyConstructible.html>Copy Constructible</a> </li> <li style="display: none"> <a href=../archive/boost_docs/libs/utility/MultiPassInputIterator.html>MultiPassInputIterator</a> </li> </ul> </li> </ul> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/cpp_online_reading.html>C++オンライン読書会</a> <ul> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_001.html>第1回 C++Now! 読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_002.html>第2回 C++Now! 読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_003.html>第3回 C++Now! 読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_004.html>第4回 C++Now! 読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_005.html>第5回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_006.html>第6回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_007.html>第7回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_008.html>第8回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_009.html>第9回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_010.html>第10回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_011.html>第11回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_012.html>第12回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_013.html>第13回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_014.html>第14回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/archive_015.html>第15回 C++オンライン読書会</a> </li> <li style="display: none"> <a href=../archive/cpp_online_reading/request.html>読みたいC++資料リクエスト</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../archive/propose.html>提案予定プロジェクト</a> <ul> <li style="display: none"> <a href=../archive/propose/templ_rec_max.html>テンプレートの再帰上限数workaround(rejected)</a> </li> </ul> </li> </ul> </li> <li class="parent_li active"> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-minus"></i></span> <a href=../boostcon.html>BoostCon</a> <ul> <li> <a href=../boostcon/2010.html>BoostCon 2010</a> </li> <li> <a href=../boostcon/2011.html>BoostCon 2011</a> </li> </ul> </li> <li class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../cppnow.html>C++Now!</a> <ul> <li style="display: none"> <a href=../cppnow/2012.html>C++Now! 2012</a> </li> <li style="display: none"> <a href=../cppnow/2013.html>C++Now! 2013</a> </li> <li style="display: none"> <a href=../cppnow/2014.html>C++Now! 2014</a> </li> <li style="display: none"> <a href=../cppnow/2015.html>C++Now! 2015</a> </li> <li style="display: none"> <a href=../cppnow/2016.html>C++Now! 2016</a> </li> <li style="display: none"> <a href=../cppnow/2017.html>C++Now! 2017</a> </li> </ul> </li> <li class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../document.html>ドキュメント</a> <ul> <li style="display: none"> <a href=../document/boost-range-algorithm-kansu-no-susume.html>Boost.Range アルゴリズム関数のすすめ</a> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../document/boostserialization.html>Boost.Serialization</a> <ul> <li style="display: none"> <a href=../document/boostserialization/overview.html>Overview</a> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../document/boostserialization/other-classses.html>Other Classses</a> <ul> <li style="display: none"> <a href=../document/boostserialization/other-classses/extended_type_info.html>extended_type_info</a> </li> <li style="display: none"> <a href=../document/boostserialization/other-classses/singleton.html>singleton</a> </li> <li style="display: none"> <a href=../document/boostserialization/other-classses/void_cast.html>void_cast</a> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../document/boostserialization/reference.html>Reference</a> <ul> <li style="display: none"> <a href=../document/boostserialization/reference/archive-concepts.html>Archive Concepts</a> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../document/boostserialization/reference/serializableconcept.html>SerializableConcept</a> <ul> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../document/boostserialization/reference/serializableconcept/class-serialization-traits.html>Class Serialization Traits</a> <ul> <li style="display: none"> <a href=../document/boostserialization/reference/serializableconcept/class-serialization-traits/export-key.html>Export Key</a> </li> </ul> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../document/boostserialization/reference/special-considerations.html>Special Considerations</a> <ul> <li style="display: none"> <a href=../document/boostserialization/reference/special-considerations/exporting-class-serialization.html>Exporting Class Serialization</a> </li> </ul> </li> </ul> </li> </ul> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../document/version.html>リリースノート</a> <ul> <li style="display: none"> <a href=../document/version/1_45_0.html>Boost 1.45.0 リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_46_0.html>Boost 1.46.0 リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_46_1.html>Boost 1.46.1リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_47_0.html>Boost 1.47.0 リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_48_0.html>Boost 1.48.0 リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_49_0.html>Boost 1.49.0 リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_50_0.html>Boost 1.50.0 リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_51_0.html>Boost 1.51.0 リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_52_0.html>Boost 1.52.0 リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_53_0.html>Boost 1.53.0 リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_54_0.html>Boost 1.54.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_55_0.html>Boost 1.55.0 リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_56_0.html>Boost 1.56.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_57_0.html>Boost 1.57.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_58_0.html>Boost 1.58.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_59_0.html>Boost 1.59.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_60_0.html>Boost 1.60.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_61_0.html>Boost 1.61.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_62_0.html>Boost 1.62.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_63_0.html>Boost 1.63.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_64_0.html>Boost 1.64.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_65_0.html>Boost 1.65.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_65_1.html>Boost 1.65.1リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_66_0.html>Boost 1.66.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_67_0.html>Boost 1.67.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_68_0.html>Boost 1.68.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_69_0.html>Boost 1.69.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_70_0.html>Boost 1.70.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_71_0.html>Boost 1.71.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_72_0.html>Boost 1.72.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_73_0.html>Boost 1.73.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_74_0.html>Boost 1.74.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_75_0.html>Boost 1.75.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_76_0.html>Boost 1.76.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_77_0.html>Boost 1.77.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_78_0.html>Boost 1.78.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_79_0.html>Boost 1.79.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_80_0.html>Boost 1.80.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_81_0.html>Boost 1.81.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_82_0.html>Boost 1.82.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_83_0.html>Boost 1.83.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_84_0.html>Boost 1.84.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_85_0.html>Boost 1.85.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_86_0.html>Boost 1.86.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_87_0.html>Boost 1.87.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/1_88_0.html>Boost 1.88.0リリースノート</a> </li> <li style="display: none"> <a href=../document/version/template.html>Boost 1.xx.0リリースノート</a> </li> </ul> </li> </ul> </li> <li class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> editors_doc <ul> <li style="display: none"> <a href=../editors_doc/start_editing.html>boostjpを編集するには</a> </li> </ul> </li> <li class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../study_meeting.html>Boost.勉強会</a> <ul> <li style="display: none"> <a href=../study_meeting/code_of_conduct.html>行動規範(Code of Conduct)</a> </li> <li style="display: none"> <a href=../study_meeting/idea.html>ネタ帳</a> </li> <li style="display: none"> <a href=../study_meeting/reversed_index.html>ライブラリ逆引き</a> </li> <li style="display: none"> <a href=../study_meeting/study1.html>Boost.勉強会 #1</a> </li> <li style="display: none"> <a href=../study_meeting/study10.html>Boost.勉強会 #10 東京</a> </li> <li style="display: none"> <a href=../study_meeting/study11.html>Boost.勉強会 #11 東京</a> </li> <li style="display: none"> <a href=../study_meeting/study12.html>Boost.勉強会 #12 大阪</a> </li> <li style="display: none"> <a href=../study_meeting/study13.html>Boost.勉強会 #13 仙台</a> </li> <li style="display: none"> <a href=../study_meeting/study14.html>Boost.勉強会 #14 東京</a> </li> <li style="display: none"> <a href=../study_meeting/study15.html>Boost.勉強会 #15 札幌</a> </li> <li style="display: none"> <a href=../study_meeting/study16.html>Boost.勉強会 #16 大阪</a> </li> <li style="display: none"> <a href=../study_meeting/study17.html>Boost.勉強会 #17 東京</a> </li> <li style="display: none"> <a href=../study_meeting/study18.html>Boost.勉強会 #18 大阪</a> </li> <li style="display: none"> <a href=../study_meeting/study19.html>Boost.勉強会 #19 東京</a> </li> <li style="display: none"> <a href=../study_meeting/study2.html>Boost.勉強会 #2</a> </li> <li style="display: none"> <a href=../study_meeting/study20.html>Boost.勉強会 #20 東京</a> </li> <li style="display: none"> <a href=../study_meeting/study21.html>Boost.勉強会 #21 札幌</a> </li> <li style="display: none"> <a href=../study_meeting/study3.html>Boost.勉強会 #3 関西</a> </li> <li style="display: none"> <a href=../study_meeting/study4.html>Boost.勉強会 #4</a> </li> <li style="display: none"> <a href=../study_meeting/study5.html>Boost.勉強会 #5 名古屋</a> </li> <li style="display: none"> <a href=../study_meeting/study6.html>Boost.勉強会 #6 札幌</a> </li> <li style="display: none"> <a href=../study_meeting/study7.html>Boost.勉強会 #7 東京</a> </li> <li style="display: none"> <a href=../study_meeting/study8.html>Boost.勉強会 #8 大阪</a> </li> <li style="display: none"> <a href=../study_meeting/study9.html>Boost.勉強会 #9 つくば</a> </li> <li style="display: none"> <a href=../study_meeting/what.html>Boost.勉強会はなにであって、なにでないか</a> </li> <li style="display: none"> <a href=../study_meeting/year-end-party2010-nagoya.html>Boost.忘年会 2010@名古屋</a> </li> <li style="display: none"> <a href=../study_meeting/year-end-party2010-sapporo.html>Boost.忘年会 2010@sapporo</a> </li> <li style="display: none"> <a href=../study_meeting/year-end-party2010-tokyo.html>Boost.忘年会 2010@東京</a> </li> </ul> </li> <li class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../tips.html>Boost逆引きリファレンス</a> <ul> <li style="display: none"> <a href=../tips/array.html>配列</a> </li> <li style="display: none"> <a href=../tips/build.html>ビルドツール</a> </li> <li style="display: none"> <a href=../tips/build_link.html>ヘッダオンリー or ビルドが必要なライブラリ</a> </li> <li style="display: none"> <a href=../tips/circular_buffer.html>循環バッファ</a> </li> <li style="display: none"> <a href=../tips/config.html>コンパイラ間の差を吸収する</a> </li> <li style="display: none"> <a href=../tips/constcond_overload.html>コンパイル時条件によるオーバーロード</a> </li> <li style="display: none"> <a href=../tips/coroutine.html>コルーチン</a> </li> <li style="display: none"> <a href=../tips/cxx11-boost-mapping.html>C++11とBoostの対応付け</a> </li> <li style="display: none"> <a href=../tips/date_time.html>日付の計算</a> </li> <li style="display: none"> <a href=../tips/dynamic_assert.html>実行時アサート</a> </li> <li style="display: none"> <a href=../tips/dynamic_bitset.html>サイズを動的に変更できるビット集合</a> </li> <li style="display: none"> <a href=../tips/dynamic_regex.html>動的な正規表現</a> </li> <li style="display: none"> <a href=../tips/dynamic_type.html>動的型</a> </li> <li style="display: none"> <a href=../tips/filesystem.html>ファイル/ディレクトリ操作</a> </li> <li style="display: none"> <a href=../tips/finite_state_machine.html>有限状態マシン</a> </li> <li style="display: none"> <a href=../tips/foreach.html>for each文</a> </li> <li style="display: none"> <a href=../tips/format.html>文字列フォーマット</a> </li> <li style="display: none"> <a href=../tips/function.html>関数ポインタと関数オブジェクトを統一的に扱う</a> </li> <li style="display: none"> <a href=../tips/geometry.html>計算幾何</a> </li> <li style="display: none"> <a href=../tips/graph.html>グラフ</a> </li> <li style="display: none"> <a href=../tips/hashmap.html>ハッシュ表</a> </li> <li style="display: none"> <a href=../tips/ini.html>iniファイルの読み込み/書き込み</a> </li> <li style="display: none"> <a href=../tips/initialize.html>組み込み型を必ず初期化する</a> </li> <li style="display: none"> <a href=../tips/interval_arithmetic.html>区間演算</a> </li> <li style="display: none"> <a href=../tips/io_state.html>ストリームの状態を戻す</a> </li> <li style="display: none"> <a href=../tips/iterator.html>イテレータを作る</a> </li> <li style="display: none"> <a href=../tips/json.html>JSONの読み込み/書き込み</a> </li> <li style="display: none"> <a href=../tips/lambda.html>無名関数</a> </li> <li style="display: none"> <a href=../tips/linear-algebra.html>線形代数</a> </li> <li style="display: none"> <a href=../tips/list.html>リスト処理の遅延評価</a> </li> <li style="display: none"> <a href=../tips/lockfree-queue.html>ロックフリーキュー</a> </li> <li style="display: none"> <a href=../tips/lockfree-stack.html>ロックフリースタック</a> </li> <li style="display: none"> <a href=../tips/logging.html>ロギング</a> </li> <li style="display: none"> <a href=../tips/math.html>数学</a> </li> <li style="display: none"> <a href=../tips/memory_mapped_file.html>メモリマップドファイル</a> </li> <li style="display: none"> <a href=../tips/move.html>ムーブ可能なクラスを定義する</a> </li> <li style="display: none"> <a href=../tips/mpi.html>MPI による並列計算</a> </li> <li style="display: none"> <a href=../tips/multi_array.html>多次元配列</a> </li> <li style="display: none"> <a href=../tips/multi_index.html>コンテナに複数の並び順を持たせる</a> </li> <li style="display: none"> <a href=../tips/multiprec-float.html>多倍長浮動小数点数</a> </li> <li style="display: none"> <a href=../tips/multiprec-int.html>多倍長整数</a> </li> <li style="display: none"> <a href=../tips/named_parameter.html>名前付き引数</a> </li> <li style="display: none"> <a href=../tips/noncopyable.html>クラスをコピー不可にする</a> </li> <li style="display: none"> <a href=../tips/noncopyable_container.html>コピー不可なオブジェクトを持ちまわる</a> </li> <li style="display: none"> <a href=../tips/operators.html>演算子を自動定義する</a> </li> <li style="display: none"> <a href=../tips/optional.html>無効値の統一的な表現</a> </li> <li style="display: none"> <a href=../tips/parser.html>構文解析</a> </li> <li style="display: none"> <a href=../tips/partial_eval.html>カリー化/部分適用</a> </li> <li style="display: none"> <a href=../tips/priority_sort.html>優先順位を付けて並べ替える</a> </li> <li style="display: none"> <a href=../tips/program_options.html>コマンドラインオプションの定義/取得</a> </li> <li style="display: none"> <a href=../tips/random.html>乱数</a> </li> <li style="display: none"> <a href=../tips/scope_guard.html>スコープを抜ける際に実行されるブロック</a> </li> <li style="display: none"> <a href=../tips/serialize.html>シリアライズ</a> </li> <li style="display: none"> <a href=../tips/signals.html>シグナル/スロット</a> </li> <li style="display: none"> <a href=../tips/smart_ptr.html>リソースを自動的に解放する</a> </li> <li style="display: none"> <a href=../tips/static_assert.html>コンパイル時アサート</a> </li> <li style="display: none"> <a href=../tips/static_regex.html>静的な正規表現</a> </li> <li style="display: none"> <a href=../tips/statistics.html>統計処理</a> </li> <li style="display: none"> <a href=../tips/string_algo.html>文字列操作</a> </li> <li style="display: none"> <a href=../tips/thread.html>スレッド</a> </li> <li style="display: none"> <a href=../tips/timer.html>処理時間の計測</a> </li> <li style="display: none"> <a href=../tips/tuple.html>タプル</a> </li> <li style="display: none"> <a href=../tips/type_traits.html>型特性</a> </li> <li style="display: none"> <a href=../tips/unit_test.html>単体テスト</a> </li> <li style="display: none"> <a href=../tips/units.html>単位演算</a> </li> <li style="display: none"> <a href=../tips/uuid.html>オブジェクトにユニークなIDを付ける</a> </li> <li style="display: none"> <a href=../tips/variant.html>ユーザー定義型を扱える型安全な共用体</a> </li> <li style="display: none"> <a href=../tips/version.html>Boostのバージョンを調べる</a> </li> <li style="display: none"> <a href=../tips/xml.html>XMLの読み込み/書き込み</a> </li> <li style="display: none" class="parent_li "> <span class=treespan onclick="tree_onclick.call(this, event)"><i class="glyphicon glyphicon-plus"></i></span> <a href=../tips/network.html>ネットワーク</a> <ul> <li style="display: none"> <a href=../tips/network/tcp.html>ネットワーク - TCP</a> </li> </ul> </li> </ul> </li> </ul> </div> </div> </div> </div> </main> <footer class="footer navbar navbar-default"> <div class=container-fluid> <p><small> 本サイトの情報は、 <a href=https://creativecommons.org/licenses/by/3.0/deed.ja rel=nofollow>クリエイティブ・コモンズ 表示 3.0 非移植 ライセンス(CC BY)</a> の下に提供されています。 </small></p> </div> </footer> </body> <!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6. chromium.org/developers/how-tos/chrome-frame-getting-started --> <!--[if lt IE 7 ]>
<script src="https://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script>
<script>
window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})
</script>
<![endif]--> </html>