-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrss.xml
2106 lines (2086 loc) · 233 KB
/
rss.xml
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
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>boostjp : Boost日本語情報サイト</title>
<link href="https://boostjp.github.io" />
<updated>2025-02-25T14:44:22.732811</updated>
<id>a57aa148-b443-4343-8429-c6ab81657513</id>
<entry>
<title>Boost 1.87.0リリースノート -- 1.87.0 : Optionalを追加</title>
<link href="https://boostjp.github.io/document/version/1_87_0.html"/>
<id>191d498a55eecab7874b77c8f1dbc16858c01b0d:document/version/1_87_0.md</id>
<updated>2024-12-27T12:51:04+09:00</updated>
<content type="html"><h1 itemprop="name"><span class="token">Boost 1.87.0リリースノート</span></h1>
<div itemprop="articleBody"><p>本家リリースノート:</p>
<ul>
<li><a href="https://github.com/boostorg/website/blob/master/feed/history/boost_1_87_0.qbk" target="_blank">https://github.com/boostorg/website/blob/master/feed/history/boost_1_87_0.qbk</a></li>
<li><a href="http://www.boost.org/users/history/version_1_87_0.html" target="_blank">http://www.boost.org/users/history/version_1_87_0.html</a></li>
</ul>
<p>リポジトリは以下:</p>
<ul>
<li><a href="https://github.com/boostorg/" target="_blank">https://github.com/boostorg/</a></li>
</ul>
<p>リポジトリからのビルド方法は、egtraさんのブログを参照:</p>
<ul>
<li>「<a href="http://dev.activebasic.com/egtra/2013/12/03/620/" target="_blank">Modularized Boost(GitHubへ移行したリポジトリ)を使用する</a>」</li>
</ul>
<h2>新ライブラリ</h2>
<ul>
<li><a href="https://boost.org/libs/parser" target="_blank">Parser</a><ul>
<li>パーサー構築のフレームワーク。作者Zach Laine氏</li>
</ul>
</li>
</ul>
<h2>更新ライブラリ</h2>
<ul>
<li><a href="#asio">Asio</a></li>
<li><a href="#atomic">Atomic</a></li>
<li><a href="#beast">Beast</a></li>
<li><a href="#charconv">Charconv</a></li>
<li><a href="#cobalt">Cobalt</a></li>
<li><a href="#compat">Compat</a></li>
<li><a href="#container">Container</a></li>
<li><a href="#filesystem">Filesystem</a></li>
<li><a href="#flyweight">Flyweight</a></li>
<li><a href="#geometry">Geometry</a></li>
<li><a href="#iterator">Iterator</a></li>
<li><a href="#interprocess">Interprocess</a></li>
<li><a href="#json">JSON</a></li>
<li><a href="#lexical_cast">LexicalCast</a></li>
<li><a href="#log">Log</a></li>
<li><a href="#math">Math</a></li>
<li><a href="#move">Move</a></li>
<li><a href="#mp11">Mp11</a></li>
<li><a href="#multiprecision">Multiprecision</a></li>
<li><a href="#mysql">MySQL</a></li>
<li><a href="#optional">Optional</a></li>
<li><a href="#pfr">PFR</a></li>
<li><a href="#process">Process</a></li>
<li><a href="#smart_ptr">SmartPtr</a></li>
<li><a href="#stacktrace">Stacktrace</a></li>
<li><a href="#stl_interfaces">STLInterfaces</a></li>
<li><a href="#test">Test</a></li>
<li><a href="#unordered">Unordered</a></li>
<li><a href="#url">URL</a></li>
<li><a href="#uuid">UUID</a></li>
<li><a href="#wave">Wave</a></li>
</ul>
<h2><a href="#asio" id="asio">Asio</a></h2>
<ul>
<li>byte spanとそのシーケンスを、バッファシーケンスとして使用できるサポートを追加。これにより、<code>async_read</code>などのI/O操作に直接渡すことができる</li>
<li>非同期操作がエラーなしで完了したかどうかをテストできるgeneric dispositionのサポートを追加。これには<code>error_code</code>と<code>exception_ptr</code>が含まれるが、<code>disposition_traits</code>クラステンプレートの特殊化によってユーザー定義の型に拡張できる。標準型の<code>std::error_code</code>と<code>std::exception_ptr</code>がディスポジションとして認識される</li>
<li><code>boost::asio::use_future</code>完了トークン、<code>boost::asio::awaitable&lt;&gt;</code>ベースのコルーチン、<code>boost::asio::spawn()</code>、<code>boost::asio::experimental::cancellation_condition</code>にディスポジションサポートを追加</li>
<li><code>execution_context::service_maker</code>抽象基底クラスを追加。<code>service_maker</code>はexecution contextのコンストラクタに渡されるオブジェクトで、コンテキスト構築時にサービスを追加できる</li>
<li><code>boost::asio::config</code>を追加。execution contextに関連する設定パラメータにアクセスできる。このクラスはAsioの内部、またはAsioの上に構築されるライブラリやユーザー提供の抽象化での使用を意図しており、特定の最適化の有効化/無効化などの動作を微調整するために使用される。<code>boost::asio::config_from_env</code>、<code>boost::asio::config_from_concurrency_hint</code>、<code>boost::asio::config_from_string</code>などの具体的な設定ソースを<code>io_context</code>または<code>thread_pool</code>のコンストラクタに渡すことができる</li>
<li>Asioの<code>io_context</code>と<code>thread_pool</code>実装で認識される初期設定パラメータセットを追加</li>
<li>以前に非推奨だった機能をいくつか削除</li>
<li><code>basic_io_object</code>と<code>deadline_timer</code>を非推奨化</li>
<li>associating binderに右辺値修飾の<code>operator()</code>オーバーロードを追加。</li>
<li>モジュラービルド構造のサポートを追加</li>
<li>ムーブ専用型を返す関数の<code>spawn()</code>を修正</li>
<li>コンセプトサポートを必要としないよう<code>co_composed</code>を修正</li>
<li>epollリアクターがfork後に通常のfile descriptorを再登録しないよう修正</li>
<li><code>ssl::detail::engine</code>ムーブ代入のリークを修正</li>
<li><code>BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING</code>が定義されている場合のコンパイルエラーを修正</li>
<li>Clang 19を使用する際のコンパイルエラーを修正</li>
<li><code>thread_pool::join()</code>を変更し、<code>thread_pool::attach()</code>で後に追加されるスレッドを確実に停止するようにした</li>
<li>ストリーム指向操作で使用される<code>io_uring_prep_write_fixed</code>と<code>io_uring_prep_read_fixed</code>に渡されるオフセットを修正</li>
<li>詳細は<a href="https://www.boost.org/doc/libs/release/doc/html/boost_asio/history.html" target="_blank">Revision History</a>を参照</li>
</ul>
<h2><a href="#atomic" id="atomic">Atomic</a></h2>
<ul>
<li><a href="https://github.com/boostorg/atomic/issues/72" target="_blank">GitHub #72</a> アトミック待機状態リストのメモリ再確保時の初期化を修正</li>
</ul>
<h2><a href="#beast" id="beast">Beast</a></h2>
<ul>
<li>APIの変更<ul>
<li><code>basic_fields::insert()</code>に<code>error_code</code>オーバーロードを追加</li>
<li>permessage-deflateの状態を照会するための<code>websocket::stream::get_status</code>のオーバーロードを追加</li>
</ul>
</li>
<li>修正<ul>
<li>タイムアウト時に<code>bad_executor</code>例外を引き起こす<code>http::basic_stream</code>内の<code>net::dispatch</code>呼び出しでのムーブ後使用を修正</li>
<li>初期化関数内の変更操作を削除</li>
<li><code>teardown_tcp_op</code>でのキャンセル処理を修正</li>
<li><code>on_finish_impl</code>を呼び出す前に<code>basic_parser</code>の<code>state_</code>を設定</li>
<li><code>clamp</code>関数から<code>static</code>指定子を削除</li>
<li>テストでの<code>-Wattributes</code>警告に対処</li>
<li>テストでの到達不能コード警告に対処</li>
</ul>
</li>
<li>改善<ul>
<li><code>beast::http</code>名前空間の型の前方宣言ヘッダーを追加</li>
<li><code>http::parser</code>が<code>error_code</code>オーバーロードを使用した<code>basic_fields::insert()</code>を使用できるよう修正</li>
<li><code>http::basic_parser</code>に<code>header_limit_</code>をトレーラーヘッダーに適用</li>
<li><code>http::basic_parser</code>が<code>http::error::header_limit</code>をより早く返すように改善</li>
<li>モジュラーBoostビルド構造のサポートを追加</li>
</ul>
</li>
<li>謝辞<ul>
<li>Jackarain, Saleh Hatefinya, René Ferdinand Rivera Morell</li>
</ul>
</li>
</ul>
<h2><a href="#charconv" id="charconv">Charconv</a></h2>
<ul>
<li><code>__ibm128</code>をlong double formatとして使用するPPC64LE アーキテクチャのサポートを修正</li>
<li>Windows ARM64プラットフォームでの組み込み関数の使用を修正</li>
<li><code>std::float128_t</code>または<code>__float128</code>を使用した固定小数点の指定精度でのフォーマットを修正</li>
</ul>
<h2><a href="#cobalt" id="cobalt">Cobalt</a></h2>
<ul>
<li><code>get_executor</code>で定数参照を返す要件を削除</li>
<li>実験的/構成を追加</li>
</ul>
<h2><a href="#compat" id="compat">Compat</a></h2>
<ul>
<li><code>to_array.hpp</code>を追加(Ruben Perez Hidalgo氏の貢献)</li>
</ul>
<h2><a href="#container" id="container">Container</a></h2>
<ul>
<li><code>static_vector</code>と<code>small_vector</code>に<code>stored_size</code>オプションを追加</li>
<li>バグ/問題を修正:<ul>
<li><a href="https://github.com/boostorg/container/issues/261" target="_blank">GitHub #261</a> 終端イテレータは参照できない問題を修正</li>
<li><a href="https://github.com/boostorg/container/issues/288" target="_blank">GitHub #288</a> <code>small_vectorで</code>flat_map::extract_sequence`を使用する際のコンパイルエラーを修正</li>
</ul>
</li>
</ul>
<h2><a href="#filesystem" id="filesystem">Filesystem</a></h2>
<ul>
<li>1.84.0で発表されたように、Windows 10より前のバージョンはサポートされなくなった</li>
<li><a href="https://github.com/boostorg/filesystem/issues/325" target="_blank">GitHub #325</a> Windowsでは、<code>canonical</code>が<code>GetFinalPathNameByHandleW</code> WinAPI関数に基づくようになった。副次的効果として、ドライブ文字は大文字に変換され、結果のパスの相互運用性が向上した</li>
<li>[v4:] <code>canonical</code>は、入力パスに末尾のディレクトリ区切り文字 (trailing directory separator)がある場合でも、結果のパスに末尾のディレクトリ区切り文字を生成しなくなった</li>
<li><a href="https://github.com/boostorg/filesystem/issues/326" target="_blank">GitHub #326</a> <code>path</code>コンストラクタまたはメンバ関数が、<code>path</code>に変換可能なユーザー定義型の引数と1つ以上の<code>Source</code>型で呼び出された場合、デフォルトで<code>path</code>への変換が選択されるようになった。これにより一部の引数変換のあいまいさが解消される可能性があるが、変換パスが最適でない場合もある。異なる変換パスが必要な場合、ユーザーには明示的な型キャストの使用を推奨される</li>
<li><a href="https://github.com/boostorg/filesystem/issues/328" target="_blank">GitHub #328</a> FreeBSD 9以前の<code>dirfd</code>がマクロである場合の回避策を追加</li>
</ul>
<h2><a href="#flyweight" id="flyweight">Flyweight</a></h2>
<ul>
<li>マルチスレッドシナリオで優れたパフォーマンスを提供する、Boost.Unorderedの並行コンテナに基づく<code>concurrent_factory</code>を追加</li>
<li><a href="https://github.com/boostorg/flyweight/issues/15" target="_blank">GitHub #15</a> 以前に例外送出しないとドキュメントに記載されていた<code>boost::flyweight</code>操作に<code>noexcept</code>を付与</li>
</ul>
<h2><a href="#geometry" id="geometry">Geometry</a></h2>
<ul>
<li>改善<ul>
<li>コードの一部で<code>typedef</code>の代わりに<code>using</code>を使用</li>
<li>コードの一部でエイリアスを使用してメタ関数を現代化</li>
<li>モジュラービルド構造のサポートを追加</li>
<li>CMakeカバレッジの完全化(GitHub Actionsのcmakeテストを追加)</li>
<li>ドキュメントワークフローの改善</li>
<li>QtとWxWidgetsの例を更新</li>
<li>C++17と23に備えて列挙を追加</li>
</ul>
</li>
<li>重大な変更<ul>
<li>非推奨のリスケーリングコードを削除</li>
</ul>
</li>
<li>解決した問題<ul>
<li><a href="https://github.com/boostorg/geometry/issues/1309" target="_blank">GitHub #1309</a> 一部のqbkインクルードの不足を修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1226" target="_blank">GitHub #1226</a> <a href="https://github.com/boostorg/geometry/issues/1326" target="_blank">GitHub #1326</a> ringに対するextra roundを修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1293" target="_blank">GitHub #1293</a> <a href="https://github.com/boostorg/geometry/issues/1294" target="_blank">GitHub #1294</a> <a href="https://github.com/boostorg/geometry/issues/1295" target="_blank">GitHub #1295</a> クラスター化されていないリングを通過する処理を修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/893" target="_blank">GitHub #893</a> <a href="https://github.com/boostorg/geometry/issues/1299" target="_blank">GitHub #1299</a> 和演算の条件でのブロッキングリングを修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1342" target="_blank">GitHub #1342</a> touchとの組み合わせでのstart turnを破棄を修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1288" target="_blank">GitHub #1288</a> <a href="https://github.com/boostorg/geometry/issues/1345" target="_blank">GitHub #1345</a> (不完全な)touchの処理を修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1279" target="_blank">GitHub #1279</a> <code>covered_by</code>の不正確な結果を修正</li>
<li>エラーと警告の各種修正</li>
</ul>
</li>
</ul>
<h2><a href="#iterator" id="iterator">Iterator</a></h2>
<ul>
<li><a href="https://github.com/boostorg/iterator/issues/85" target="_blank">GitHub #85</a> <code>function_output_iterator</code>が<code>std::output_iterator</code>コンセプトに準拠するよう修正</li>
</ul>
<h2><a href="#interprocess" id="interprocess">Interprocess</a></h2>
<ul>
<li>Boostの依存関係を11から7に削減。</li>
<li><code>&lt;boost/interprocess/containers/*.hpp&gt;</code>ヘッダーを非推奨にした。2011年にはBoost.Containerの元ソースを参照していたが、現在はメンテナンスされていない。長期的な移行として、Boost.Interprocessはこれらのヘッダーを互換性のために維持してきた。将来のBoostリリースで削除される</li>
<li>Cygwinのいくつかの回避策を追加。リグレッションテストがCygwin64で動作するようになった</li>
<li><strong>ABI破壊的変更</strong>: <code>segment_manager</code>が、オーバーアラインされた型をサポートし、既存のバグを修正する新しい実装を使用。Boost 1.87より前のABIを取得するには、Boost.Interprocessヘッダーをインクルードする前に<code>BOOST_INTERPROCESS_SEGMENT_MANAGER_ABI</code>を<code>1</code>として定義すること</li>
<li>バグを修正:<ul>
<li><a href="https://github.com/boostorg/interprocess/issues/152" target="_blank">GitHub #152</a> <code>shared_memory_object</code>で<code>EINTR</code>を処理</li>
<li><a href="https://github.com/boostorg/interprocess/issues/173" target="_blank">GitHub #173</a> 管理共有メモリセグメントの値が整列されていない</li>
<li><a href="https://github.com/boostorg/interprocess/issues/192" target="_blank">GitHub #192</a> <code>managed_windows_shared_memory</code>が破壊時にクラッシュ</li>
<li><a href="https://github.com/boostorg/interprocess/issues/199" target="_blank">GitHub #199</a> <code>char_wchar_holder</code>の代入演算子で<code>m_is_wide</code>が不足/誤用</li>
<li><a href="https://github.com/boostorg/interprocess/issues/210" target="_blank">GitHub #210</a> <code>boost::interprocess::ipcdetail::sync_handles::obtain_mutex</code>のバグ</li>
<li><a href="https://github.com/boostorg/interprocess/issues/215" target="_blank">GitHub #215</a> SPARC 32ビットでboost/interprocess/segment_managerのアラインメント問題</li>
<li><a href="https://github.com/boostorg/interprocess/issues/217" target="_blank">GitHub #217</a> <code>managed_map_file</code>の<code>find_or_construct</code>がキャッシュアラインメントされたメモリを返さない</li>
<li><a href="https://github.com/boostorg/interprocess/issues/230" target="_blank">GitHub #230</a> MinGWで<code>interprocess::ipcdetail::intermodule_singleton</code>が動作しない</li>
<li><a href="https://github.com/boostorg/interprocess/issues/236" target="_blank">GitHub #236</a> <code>get_current_process_creation_time</code>の浮動小数点の不正確さにより<code>intermodule_singleton</code>の失敗</li>
</ul>
</li>
</ul>
<h2><a href="#json" id="json">JSON</a></h2>
<ul>
<li>直接的なシリアライズ</li>
<li>Boost.JSON型のGDBプリティプリンタを追加</li>
<li>構造体への変換で不明なキーを無視</li>
<li><code>value_to</code>の例外ラッピング動作を簡素化</li>
<li>非推奨のinitializer listの動作を削除</li>
<li>非推奨の型エイリアスを削除</li>
<li>MinGW ARM64での正確な64ビット乗算を使用</li>
<li>サイズの異なるタプルでの<code>parse_into</code>の処理を修正</li>
<li>シーケンスの許容サイズより大きな入力サイズをチェック</li>
<li>GCC 14での<code>value_ref</code>のセグメンテーション違反を修正</li>
</ul>
<h2><a href="#lexical_cast" id="lexical_cast">LexicalCast</a></h2>
<ul>
<li>Boost.Integerへの依存性を削除し、コンパイル時間を短縮</li>
</ul>
<h2><a href="#log" id="log">Log</a></h2>
<ul>
<li>Boost.Threadの同期プリミティブをC++標準ライブラリの同等物と置き換えた。これにより、マルチスレッドのパフォーマンスが向上する可能性があるが、ユーザー側での影響もある<ul>
<li>Boost.Threadのスレッド割り込み機能はサポートされなくなった。Boost.Logは、Boost.Threadによってスレッド割り込みを実装するために使用される <code>thread_interrupted</code> 例外に対して特別な処理を行わなくなった。この例外は他の任意の例外と同様に扱われる<ul>
<li>とくに、ユーザー指定の例外ハンドラが <code>thread_interrupted</code> のペンディング例外で呼び出されることがある</li>
</ul>
</li>
<li>timed wait操作について、タイムアウトは現在<code>std::chrono</code>の時間単位を使用している。これは、<code>bounded_ordering_queue</code> クラスと <code>unbounded_ordering_queue</code> クラスがサポートする <code>ordering_window</code> という名前付きパラメータが、Boost.DateTimeの <code>boost::posix_time::time_duration</code> ではなく <code>std::chrono::duration</code> の値を期待することを意味している</li>
<li>スレッド同期プリミティブによって示されるエラーの場合、Boost.Threadの例外型の代わりに <code>std::system_error</code> 例外が送出される</li>
</ul>
</li>
<li><code>strictest_lock</code> にC++標準ライブラリのlock型のサポートを追加</li>
</ul>
<h2><a href="#math" id="math">Math</a></h2>
<ul>
<li>メジャーアップデート</li>
<li>多数の特殊関数および分布が、CUDA(NVCCおよびNVRTC)およびSYCLをサポートするようになった</li>
<li><a href="https://github.com/boostorg/math/pull/1163" target="_blank">GitHub #1163</a> mapairy distribution、holtsmark distributionおよびsaspoint5 distributionを追加</li>
<li><a href="https://github.com/boostorg/math/pull/1159" target="_blank">GitHub #1159</a> landau distributionを追加した</li>
<li><a href="https://github.com/boostorg/math/issues/1169" target="_blank">GitHub #1169</a> beta quantileにおける予期しない例外を修正した</li>
</ul>
<h2><a href="#move" id="move">Move</a></h2>
<ul>
<li>いくつかのバグを修正:<ul>
<li><a href="https://github.com/boostorg/move/issues/56" target="_blank">Git Issue #56</a> std型の前方宣言が、一部のプラットフォームでコンパイルエラーを引き起こす</li>
</ul>
</li>
</ul>
<h2><a href="#mp11" id="mp11">Mp11</a></h2>
<ul>
<li><code>mp_lambda</code>を追加(提供者:Joaquin M Lopez Munoz氏)</li>
</ul>
<h2><a href="#multiprecision" id="multiprecision">Multiprecision</a></h2>
<ul>
<li><code>float128</code> をtrivially copyableにした</li>
<li><code>__float128</code> を非GNUモードでも浮動小数点型とみなすよう修正</li>
</ul>
<h2><a href="#mysql" id="mysql">MySQL</a></h2>
<ul>
<li><strong>実験的なAPIへの破壊的変更</strong>:<ul>
<li><code>connection_pool</code>でのスレッドセーフティ機能が再設計され、ユーザーの経験によって見つかったいくつかの設計の欠陥を克服した<ul>
<li><code>thread_safe</code>という<code>bool</code>オプションが<code>pool_params</code>に追加され、デフォルトでは<code>false</code>に設定されている。設定すると、一部のプール関数が挙動を変更して並行に安全に使用できるようになる。これは内部で<code>strand</code>を作成し、必要なときにそれにディスパッチし、cancel signalを再配線することで機能する</li>
<li><code>pool_params::thread_safe</code>が<code>false</code>の場合、通常のAsio executorのセマンティクスが適用され、オーバーヘッドはない</li>
</ul>
</li>
<li><code>pool_executor_params</code>は削除され、<code>pool_params::connection_executor</code>と<code>pool_params::thread_safe</code>に置き換えられた</li>
<li><code>connection_pool::async_get_connection</code>の組み込みタイムアウト機能が完全に削除された。この関数は現在、個々の操作のキャンセルをサポートしており、同じ機能は<code>asio::cancel_after</code>を使用することで達成できる</li>
<li><code>connection_pool</code>の破棄をすると、ほかのAsio I/Oオブジェクトと同様に、未処理の非同期操作がキャンセルされる。これによりリソースのリークが防止される</li>
<li>利用可能なコネクションがまだない状態で<code>async_get_connection</code>操作がキャンセルされた場合、操作は現在、プールの状態に応じて一貫して<code>client_errc::pool_not_running</code>、<code>client_errc::no_connection_available</code>、または<code>client_errc::pool_cancelled</code>で失敗する</li>
<li><code>client_errc::timeout</code>と<code>client_errc::cancelled</code>が削除された</li>
<li>プールが実行中でない状態で<code>async_get_connection</code>を呼び出すとすぐには失敗せず、<code>async_run</code>の呼び出しを待つ</li>
<li><code>sequence</code>は所有型を返すようになった。これにより、<code>with_params</code>と共に遅延非同期操作で使用することが安全になった</li>
<li><code>sequence</code>は別のヘッダー、<code>boost/mysql/sequence.hpp</code>に移動された</li>
</ul>
</li>
<li><code>any_connection</code>、クライアント側のSQLフォーマット(<code>format_sql</code>および<code>with_params</code>を含む)、および<code>connection_pool</code>を安定したAPIに昇格させた</li>
<li><code>connection</code>とそのエイリアスである<code>tcp_connection</code>、<code>tcp_ssl_connection</code>、および<code>unix_connection</code>の代わりに使用する新規コードとして、<code>any_connection</code>が推奨される</li>
<li>クエリテンプレート文字列とパラメータを包括する新しい <code>ExecutionRequest</code> である <code>with_params</code> を追加した</li>
<li><code>with_diagnostics</code>を追加した。これは同期的に例外を送出する関数の動作と一致するように、非同期関数によって送出される例外に <code>diagnostics</code> オブジェクトを含むアダプタ完了トークンである</li>
<li><code>with_diagnostics(asio::deferred)</code>は現在、<code>any_connection</code>と<code>connection_pool</code>のすべての操作のデフォルトの完了トークンである</li>
<li><code>connection_pool</code>の非同期関数は現在、操作ごとのキャンセルをサポートしている</li>
<li>すべての非同期操作は現在、<code>asio::cancel_after</code>、<code>asio::cancel_at</code>および同様の完了トークンをサポートしている</li>
<li><code>connection</code>と<code>any_connection</code>は現在、即時の完全性をトークンの即時エグゼキュータ (immediate executor) を介してディスパッチする</li>
<li>以前に接続されていない<code>any_connection</code>を使用しようとするとクラッシュする問題を修正した</li>
<li><code>field</code>の潜在的に例外送出可能なコンストラクタから間違った<code>noexcept</code>指定子を削除した</li>
<li>設定されたバッファサイズの制限を超える可能性があった書き込みバッファサイズの問題を修正した</li>
<li>ドキュメントとサンプルコードを大幅に更新し、新しい推奨されるベストプラクティスを反映させるようにした</li>
</ul>
<h2><a href="#optional" id="optional">Optional</a></h2>
<ul>
<li><strong>破壊的変更</strong> C++03のサポートを削除した。C++11以上を要求するようになった。少なくとも一部のC++11の機能が必要となる</li>
<li>Boost.Utilityへの依存関係を削除</li>
<li>Boost.Predefへの依存関係を削除</li>
<li>Boost.StaticAssertへの依存関係を削除</li>
<li>Boost.Moveへの依存関係を削除</li>
<li>一部の関係演算の実装をわずかに高速化した</li>
<li><strong>警告</strong> 将来のリリースでは、<code>std::ranges::range&lt;optional&lt;T&gt;&gt;</code>が<code>true</code>になるように、<code>optional</code>にRangeインターフェースを導入する予定。これは、<code>std::ranges::range</code>のような、述語に基づいて決定を下すプログラムのオーバーロード解決に影響を与える可能性がある</li>
<li>タグ<code>in_place_init</code>と<code>in_place_init_if</code>が<code>inline constexpr</code>になり、その結果、実行ファイルのフットプリントが小さくなった。これは<a href="https://github.com/boostorg/optional/issues/103" target="_blank">GitHub #103</a>の問題を解決する</li>
</ul>
<h2><a href="#pfr" id="pfr">PFR</a></h2>
<ul>
<li><a href="https://github.com/boostorg/pfr/pull/171" target="_blank">GitHub #171</a> <code>boost::pfr::for_each_field_with_name</code>関数が追加された (<a href="https://github.com/Baduit" target="_blank">Lena</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/pfr/pull/120" target="_blank">GitHub #120</a> 大きなサイズと小さなフィールド数を持つ構造体のコンパイル時間が大幅に改善された (<a href="https://github.com/runer112" target="_blank">Zachary Wassall</a>氏に感謝)</li>
<li><code>pragma</code>ディレクティブを修正</li>
<li>C++20モジュールへの初期サポートを追加した。詳細はドキュメントを参照</li>
<li><a href="https://github.com/boostorg/pfr/pull/183" target="_blank">GitHub #183</a>, <a href="https://github.com/boostorg/pfr/pull/187" target="_blank">GitHub #187</a> core_name14_disabled.hpp内の未使用変数の警告を修正 (<a href="https://github.com/anarthal" target="_blank">Anarthal (Rubén Pérez)</a>氏に感謝)</li>
<li>C++17における集成体内のフィールド数のデフォルト制限を100から200に引き上げた</li>
<li>GCCが<code>-Wundefined-var-template</code>を認識していないことに関する警告を修正</li>
<li>複数の軽微なコンパイル時間の改善</li>
</ul>
<h2><a href="#process" id="process">Process</a></h2>
<ul>
<li>(v2) Windowsでの<code>async_wait</code>のキャンセルを実装した</li>
<li>(v2) <code>FORCE_DISABLE_CLOSE_RANGE</code>を追加した</li>
<li>(v2) ext: BSDおよびSolarisの複数のext修正</li>
<li>(v2) 未使用の <code>ext</code> 関数が現在コンパイルされ、 <code>operation_not_supported</code> エラーが与えられるようになった(IOSを含む)</li>
<li>(v2) 複数のリンクを修正</li>
<li>(v2) リンクされたライブラリからfilesystemが削除された - 使用されるfilesystemライブラリの機能としては、ヘッダーファイルに実装があるもののみとなった</li>
<li>(v1) 1.88に対する非推奨通知を追加</li>
</ul>
<h2><a href="#smart_ptr" id="smart_ptr">SmartPtr</a></h2>
<ul>
<li>C++03のサポートを終了し、C++11のコンパイラが必要となる。これにはGCC 4.8以降、またはMSVC 14.0以降が含まれる</li>
<li>マクロ <code>BOOST_SP_ENABLE_DEBUG_HOOKS</code>、<code>BOOST_SP_USE_STD_ALLOCATOR</code>、<code>BOOST_SP_USE_QUICK_ALLOCATOR</code>、<code>BOOST_AC_USE_SPINLOCK</code>、<code>BOOST_AC_USE_PTHREADS</code>、<code>BOOST_SP_USE_SPINLOCK</code>、および<code>BOOST_SP_USE_PTHREADS</code>により有効化される機能は非推奨となり、将来のリリースでそのサポートは削除される</li>
</ul>
<h2><a href="#stacktrace" id="stacktrace">Stacktrace</a></h2>
<ul>
<li><a href="https://github.com/boostorg/stacktrace/pull/189" target="_blank">GitHub #189</a> <code>boost::stacktrace_from_exception</code>のCMakeターゲットが追加された (<a href="https://github.com/void-mian" target="_blank">int mian</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/stacktrace/pull/186" target="_blank">GitHub #186</a> MSVCでの静的ビルド時に<code>boost_stacktrace_impl_return_nullptr</code>をエクスポートしないようにした (<a href="https://github.com/huangqinjin" target="_blank">huangqinjin</a>氏に感謝)</li>
<li>Windows OSでclangを使用した際の、<code>ole32.lib</code>と<code>Dbgeng.lib</code>の自動リンクを修正した</li>
<li><a href="https://github.com/boostorg/stacktrace/pull/181" target="_blank">GitHub #181</a> ドキュメントで欠落していた名前空間を修正した (<a href="https://github.com/meastp" target="_blank">Mats Taraldsvik</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/stacktrace/pull/178" target="_blank">GitHub #178</a> <code>std::exception</code> のインクルード不足を修正した (<a href="https://github.com/jschueller" target="_blank">Julien Schueller</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/stacktrace/pull/175" target="_blank">GitHub #175</a> GCCが報告した型の変換エラーを修正した (<a href="https://github.com/jplcz" target="_blank">agent_J</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/stacktrace/pull/194" target="_blank">GitHub #194</a> CLIからB2の<code>from_exception</code>機能を使用できるようにした (<a href="https://github.com/grisumbras]氏に感謝" target="_blank">Dmitry Arkhipov</a></li>
</ul>
<h2><a href="#stl_interfaces" id="stl_interfaces">STLInterfaces</a></h2>
<ul>
<li><a href="https://github.com/boostorg/stl_interfaces/issues/71" target="_blank">GitHub #71</a> シーケンスコンテナ <code>swap</code> の誤って記録された要件を正しくした。期待される戻り値は <code>bool</code> ではなく <code>void</code> である</li>
<li><a href="https://github.com/boostorg/stl_interfaces/issues/65" target="_blank">GitHub #65</a> <code>view_adaptor.hpp</code>のアダプターのデータメンバーに <code>[[no_unique_address]]</code> を追加した</li>
<li><a href="https://github.com/boostorg/stl_interfaces/pull/68" target="_blank">GitHub #68</a> ClangとMSVCの最近のバージョンで <code>__cpp_explicit_this_parameter</code> を介してサポートをアドバタイズしていない <code>this</code> の推論を可能にした</li>
</ul>
<h2><a href="#test" id="test">Test</a></h2>
<ul>
<li><a href="https://github.com/boostorg/test/pull/348" target="_blank">GitHub #348</a> ダミー条件に対するclang tidyのサポートを修正した</li>
<li><a href="https://github.com/boostorg/test/pull/431" target="_blank">GitHub #431</a> clangでの動的リンクを修正した</li>
</ul>
<h2><a href="#unordered" id="unordered">Unordered</a></h2>
<ul>
<li>メジャーアップデート</li>
<li>並行ノードベースコンテナ <code>boost::concurrent_node_map</code> と <code>boost::concurrent_node_set</code> を追加</li>
<li>並行コンテナに <code>insert_and_visit(x, f1, f2)</code> および類似の操作を追加した。これは、挿入直後に要素を訪問することを可能にする(対照的に、 <code>insert_or_visit(x, f)</code> は、挿入が行われなかった場合にのみ要素を訪問する)</li>
<li><a href="https://github.com/boostorg/unordered/pull/265" target="_blank">GitHub #265</a> 要素の安全な可変変更を可能にするため、特定の <code>boost::concurrent_flat_set</code> 操作内で訪問を排他的にロック</li>
<li>Visual Studio Natvisでは、任意のファンシーなポインタ型をサポートした。このことは、適切なNatvisカスタマイズポイント "Intrinsic" 関数がファンシーポインタ型自体に対して書かれている限り、任意のファンシーポインタ型に適用できる</li>
<li>すべてのコンテナとイテレータにGDBのプリティプリンタが追加されました。ファンシーポインタを使用するアロケータを持つコンテナに対しては、ファンシーポインタ型そのものに対して適切なプリティプリンタが書かれている場合にのみ、これらは機能する</li>
<li><a href="https://github.com/boostorg/unordered/pull/277" target="_blank">GitHub #277</a> オープンアドレッシングコンテナに対する <code>std::initializer_list</code> への代入の問題を修正した</li>
<li>接続コンテナの <code>std::initializer_list</code> オーバーロードの <code>insert_{and|or}_[c]visit</code> にコピー不可能なコールバックを渡すことができるようにした。これは内部的にコールバックの <code>std::reference_wrapper</code> をイテレーターペアのオーバーロードに渡す</li>
</ul>
<h2><a href="#url" id="url">URL</a></h2>
<ul>
<li><a href="https://github.com/boostorg/url/issues/856" target="_blank">GitHub #856</a> 機能追加: <code>set_params</code>が<code>encoding_opts</code>をサポート</li>
<li><a href="https://github.com/boostorg/url/issues/857" target="_blank">GitHub #857</a> リファクタリング: APIから非推奨のvariant2エイリアスを除外</li>
<li><a href="https://github.com/boostorg/url/issues/864" target="_blank">GitHub #864</a> リファクタリング: <code>query_rule</code>に一貫した解釈</li>
</ul>
<h2><a href="#uuid" id="uuid">UUID</a></h2>
<ul>
<li>1.86で間違って削除した <code>constexpr uuid</code> を構築する機能を復元</li>
</ul>
<h2><a href="#wave" id="wave">Wave</a></h2>
<ul>
<li>バグ修正:<ul>
<li><a href="https://github.com/boostorg/wave/issues/220" target="_blank">GitHub #220</a>:C++20と空の文字列化パラメータでのセグメンテーション違反を修正 (<a href="https://github.com/jwnhy" target="_blank">Lu HongYi</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/wave/issues/222" target="_blank">GitHub #222</a>:含まれるファイルの最初の行が空白の場合に行ディレクティブがない問題を修正 (<a href="https://github.com/njnobles" target="_blank">Nick Nobles</a>氏に感謝)</li>
</ul>
</li>
<li>ビルドの改善(モジュールビルドのサポートを含む) (<a href="https://github.com/grafikrobot" target="_blank">René Rivera</a>氏に感謝)</li>
</ul>
<h2>テスト済みコンパイラ</h2>
<p>主要なテストコンパイラ:</p>
<ul>
<li>Linux:<ul>
<li>Clang, C++03: 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 12.0.0, 13.0.0, 14.0.0, 15.0.0</li>
<li>Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0</li>
<li>Clang, C++14: 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0</li>
<li>Clang, C++17: 6.0.1, 7.0.0, 8.0.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0</li>
<li>Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0</li>
<li>GCC, C++03: 4.6.3, 11, 12</li>
<li>GCC, C++11: 4.7.3, 4.8.5, 11, 12</li>
<li>GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12</li>
<li>GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12</li>
<li>GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12</li>
</ul>
</li>
<li>OS X:<ul>
<li>Apple Clang, C++03: 11.0.3</li>
<li>Apple Clang, C++11: 11.0.3</li>
<li>Apple Clang, C++14: 11.0.3</li>
<li>Apple Clang, C++17: 11.0.3</li>
<li>Apple Clang, C++20: 11.0.3</li>
</ul>
</li>
<li>Windows:<ul>
<li>Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3</li>
</ul>
</li>
</ul>
<h2>翻訳</h2>
<p><a href="https://github.com/faithandbrave" target="_blank">Akira Takahashi</a></p></div></content>
<author>
<name>Akira Takahashi</name>
<email>[email protected]</email>
</author>
</entry>
<entry>
<title>Boost 1.87.0リリースノート -- 1.87.0: Stacktraceの追加分に対応</title>
<link href="https://boostjp.github.io/document/version/1_87_0.html"/>
<id>bd1564c287f572e6b241d27c85071eb24508f640:document/version/1_87_0.md</id>
<updated>2024-12-10T19:21:22+09:00</updated>
<content type="html"><h1 itemprop="name"><span class="token">Boost 1.87.0リリースノート</span></h1>
<div itemprop="articleBody"><p>本家リリースノート:</p>
<ul>
<li><a href="https://github.com/boostorg/website/blob/master/feed/history/boost_1_87_0.qbk" target="_blank">https://github.com/boostorg/website/blob/master/feed/history/boost_1_87_0.qbk</a></li>
<li><a href="http://www.boost.org/users/history/version_1_87_0.html" target="_blank">http://www.boost.org/users/history/version_1_87_0.html</a></li>
</ul>
<p>リポジトリは以下:</p>
<ul>
<li><a href="https://github.com/boostorg/" target="_blank">https://github.com/boostorg/</a></li>
</ul>
<p>リポジトリからのビルド方法は、egtraさんのブログを参照:</p>
<ul>
<li>「<a href="http://dev.activebasic.com/egtra/2013/12/03/620/" target="_blank">Modularized Boost(GitHubへ移行したリポジトリ)を使用する</a>」</li>
</ul>
<h2>新ライブラリ</h2>
<ul>
<li><a href="https://boost.org/libs/parser" target="_blank">Parser</a><ul>
<li>パーサー構築のフレームワーク。作者Zach Laine氏</li>
</ul>
</li>
</ul>
<h2>更新ライブラリ</h2>
<ul>
<li><a href="#asio">Asio</a></li>
<li><a href="#atomic">Atomic</a></li>
<li><a href="#beast">Beast</a></li>
<li><a href="#charconv">Charconv</a></li>
<li><a href="#cobalt">Cobalt</a></li>
<li><a href="#compat">Compat</a></li>
<li><a href="#container">Container</a></li>
<li><a href="#filesystem">Filesystem</a></li>
<li><a href="#flyweight">Flyweight</a></li>
<li><a href="#geometry">Geometry</a></li>
<li><a href="#iterator">Iterator</a></li>
<li><a href="#interprocess">Interprocess</a></li>
<li><a href="#json">JSON</a></li>
<li><a href="#lexical_cast">LexicalCast</a></li>
<li><a href="#log">Log</a></li>
<li><a href="#math">Math</a></li>
<li><a href="#move">Move</a></li>
<li><a href="#mp11">Mp11</a></li>
<li><a href="#multiprecision">Multiprecision</a></li>
<li><a href="#mysql">MySQL</a></li>
<li><a href="#pfr">PFR</a></li>
<li><a href="#process">Process</a></li>
<li><a href="#smart_ptr">SmartPtr</a></li>
<li><a href="#stacktrace">Stacktrace</a></li>
<li><a href="#stl_interfaces">STLInterfaces</a></li>
<li><a href="#test">Test</a></li>
<li><a href="#unordered">Unordered</a></li>
<li><a href="#url">URL</a></li>
<li><a href="#uuid">UUID</a></li>
<li><a href="#wave">Wave</a></li>
</ul>
<h2><a href="#asio" id="asio">Asio</a></h2>
<ul>
<li>byte spanとそのシーケンスを、バッファシーケンスとして使用できるサポートを追加。これにより、<code>async_read</code>などのI/O操作に直接渡すことができる</li>
<li>非同期操作がエラーなしで完了したかどうかをテストできるgeneric dispositionのサポートを追加。これには<code>error_code</code>と<code>exception_ptr</code>が含まれるが、<code>disposition_traits</code>クラステンプレートの特殊化によってユーザー定義の型に拡張できる。標準型の<code>std::error_code</code>と<code>std::exception_ptr</code>がディスポジションとして認識される</li>
<li><code>boost::asio::use_future</code>完了トークン、<code>boost::asio::awaitable&lt;&gt;</code>ベースのコルーチン、<code>boost::asio::spawn()</code>、<code>boost::asio::experimental::cancellation_condition</code>にディスポジションサポートを追加</li>
<li><code>execution_context::service_maker</code>抽象基底クラスを追加。<code>service_maker</code>はexecution contextのコンストラクタに渡されるオブジェクトで、コンテキスト構築時にサービスを追加できる</li>
<li><code>boost::asio::config</code>を追加。execution contextに関連する設定パラメータにアクセスできる。このクラスはAsioの内部、またはAsioの上に構築されるライブラリやユーザー提供の抽象化での使用を意図しており、特定の最適化の有効化/無効化などの動作を微調整するために使用される。<code>boost::asio::config_from_env</code>、<code>boost::asio::config_from_concurrency_hint</code>、<code>boost::asio::config_from_string</code>などの具体的な設定ソースを<code>io_context</code>または<code>thread_pool</code>のコンストラクタに渡すことができる</li>
<li>Asioの<code>io_context</code>と<code>thread_pool</code>実装で認識される初期設定パラメータセットを追加</li>
<li>以前に非推奨だった機能をいくつか削除</li>
<li><code>basic_io_object</code>と<code>deadline_timer</code>を非推奨化</li>
<li>associating binderに右辺値修飾の<code>operator()</code>オーバーロードを追加。</li>
<li>モジュラービルド構造のサポートを追加</li>
<li>ムーブ専用型を返す関数の<code>spawn()</code>を修正</li>
<li>コンセプトサポートを必要としないよう<code>co_composed</code>を修正</li>
<li>epollリアクターがfork後に通常のfile descriptorを再登録しないよう修正</li>
<li><code>ssl::detail::engine</code>ムーブ代入のリークを修正</li>
<li><code>BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING</code>が定義されている場合のコンパイルエラーを修正</li>
<li>Clang 19を使用する際のコンパイルエラーを修正</li>
<li><code>thread_pool::join()</code>を変更し、<code>thread_pool::attach()</code>で後に追加されるスレッドを確実に停止するようにした</li>
<li>ストリーム指向操作で使用される<code>io_uring_prep_write_fixed</code>と<code>io_uring_prep_read_fixed</code>に渡されるオフセットを修正</li>
<li>詳細は<a href="https://www.boost.org/doc/libs/release/doc/html/boost_asio/history.html" target="_blank">Revision History</a>を参照</li>
</ul>
<h2><a href="#atomic" id="atomic">Atomic</a></h2>
<ul>
<li><a href="https://github.com/boostorg/atomic/issues/72" target="_blank">GitHub #72</a> アトミック待機状態リストのメモリ再確保時の初期化を修正</li>
</ul>
<h2><a href="#beast" id="beast">Beast</a></h2>
<ul>
<li>APIの変更<ul>
<li><code>basic_fields::insert()</code>に<code>error_code</code>オーバーロードを追加</li>
<li>permessage-deflateの状態を照会するための<code>websocket::stream::get_status</code>のオーバーロードを追加</li>
</ul>
</li>
<li>修正<ul>
<li>タイムアウト時に<code>bad_executor</code>例外を引き起こす<code>http::basic_stream</code>内の<code>net::dispatch</code>呼び出しでのムーブ後使用を修正</li>
<li>初期化関数内の変更操作を削除</li>
<li><code>teardown_tcp_op</code>でのキャンセル処理を修正</li>
<li><code>on_finish_impl</code>を呼び出す前に<code>basic_parser</code>の<code>state_</code>を設定</li>
<li><code>clamp</code>関数から<code>static</code>指定子を削除</li>
<li>テストでの<code>-Wattributes</code>警告に対処</li>
<li>テストでの到達不能コード警告に対処</li>
</ul>
</li>
<li>改善<ul>
<li><code>beast::http</code>名前空間の型の前方宣言ヘッダーを追加</li>
<li><code>http::parser</code>が<code>error_code</code>オーバーロードを使用した<code>basic_fields::insert()</code>を使用できるよう修正</li>
<li><code>http::basic_parser</code>に<code>header_limit_</code>をトレーラーヘッダーに適用</li>
<li><code>http::basic_parser</code>が<code>http::error::header_limit</code>をより早く返すように改善</li>
<li>モジュラーBoostビルド構造のサポートを追加</li>
</ul>
</li>
<li>謝辞<ul>
<li>Jackarain, Saleh Hatefinya, René Ferdinand Rivera Morell</li>
</ul>
</li>
</ul>
<h2><a href="#charconv" id="charconv">Charconv</a></h2>
<ul>
<li><code>__ibm128</code>をlong double formatとして使用するPPC64LE アーキテクチャのサポートを修正</li>
<li>Windows ARM64プラットフォームでの組み込み関数の使用を修正</li>
<li><code>std::float128_t</code>または<code>__float128</code>を使用した固定小数点の指定精度でのフォーマットを修正</li>
</ul>
<h2><a href="#cobalt" id="cobalt">Cobalt</a></h2>
<ul>
<li><code>get_executor</code>で定数参照を返す要件を削除</li>
<li>実験的/構成を追加</li>
</ul>
<h2><a href="#compat" id="compat">Compat</a></h2>
<ul>
<li><code>to_array.hpp</code>を追加(Ruben Perez Hidalgo氏の貢献)</li>
</ul>
<h2><a href="#container" id="container">Container</a></h2>
<ul>
<li><code>static_vector</code>と<code>small_vector</code>に<code>stored_size</code>オプションを追加</li>
<li>バグ/問題を修正:<ul>
<li><a href="https://github.com/boostorg/container/issues/261" target="_blank">GitHub #261</a> 終端イテレータは参照できない問題を修正</li>
<li><a href="https://github.com/boostorg/container/issues/288" target="_blank">GitHub #288</a> <code>small_vectorで</code>flat_map::extract_sequence`を使用する際のコンパイルエラーを修正</li>
</ul>
</li>
</ul>
<h2><a href="#filesystem" id="filesystem">Filesystem</a></h2>
<ul>
<li>1.84.0で発表されたように、Windows 10より前のバージョンはサポートされなくなった</li>
<li><a href="https://github.com/boostorg/filesystem/issues/325" target="_blank">GitHub #325</a> Windowsでは、<code>canonical</code>が<code>GetFinalPathNameByHandleW</code> WinAPI関数に基づくようになった。副次的効果として、ドライブ文字は大文字に変換され、結果のパスの相互運用性が向上した</li>
<li>[v4:] <code>canonical</code>は、入力パスに末尾のディレクトリ区切り文字 (trailing directory separator)がある場合でも、結果のパスに末尾のディレクトリ区切り文字を生成しなくなった</li>
<li><a href="https://github.com/boostorg/filesystem/issues/326" target="_blank">GitHub #326</a> <code>path</code>コンストラクタまたはメンバ関数が、<code>path</code>に変換可能なユーザー定義型の引数と1つ以上の<code>Source</code>型で呼び出された場合、デフォルトで<code>path</code>への変換が選択されるようになった。これにより一部の引数変換のあいまいさが解消される可能性があるが、変換パスが最適でない場合もある。異なる変換パスが必要な場合、ユーザーには明示的な型キャストの使用を推奨される</li>
<li><a href="https://github.com/boostorg/filesystem/issues/328" target="_blank">GitHub #328</a> FreeBSD 9以前の<code>dirfd</code>がマクロである場合の回避策を追加</li>
</ul>
<h2><a href="#flyweight" id="flyweight">Flyweight</a></h2>
<ul>
<li>マルチスレッドシナリオで優れたパフォーマンスを提供する、Boost.Unorderedの並行コンテナに基づく<code>concurrent_factory</code>を追加</li>
<li><a href="https://github.com/boostorg/flyweight/issues/15" target="_blank">GitHub #15</a> 以前に例外送出しないとドキュメントに記載されていた<code>boost::flyweight</code>操作に<code>noexcept</code>を付与</li>
</ul>
<h2><a href="#geometry" id="geometry">Geometry</a></h2>
<ul>
<li>改善<ul>
<li>コードの一部で<code>typedef</code>の代わりに<code>using</code>を使用</li>
<li>コードの一部でエイリアスを使用してメタ関数を現代化</li>
<li>モジュラービルド構造のサポートを追加</li>
<li>CMakeカバレッジの完全化(GitHub Actionsのcmakeテストを追加)</li>
<li>ドキュメントワークフローの改善</li>
<li>QtとWxWidgetsの例を更新</li>
<li>C++17と23に備えて列挙を追加</li>
</ul>
</li>
<li>重大な変更<ul>
<li>非推奨のリスケーリングコードを削除</li>
</ul>
</li>
<li>解決した問題<ul>
<li><a href="https://github.com/boostorg/geometry/issues/1309" target="_blank">GitHub #1309</a> 一部のqbkインクルードの不足を修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1226" target="_blank">GitHub #1226</a> <a href="https://github.com/boostorg/geometry/issues/1326" target="_blank">GitHub #1326</a> ringに対するextra roundを修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1293" target="_blank">GitHub #1293</a> <a href="https://github.com/boostorg/geometry/issues/1294" target="_blank">GitHub #1294</a> <a href="https://github.com/boostorg/geometry/issues/1295" target="_blank">GitHub #1295</a> クラスター化されていないリングを通過する処理を修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/893" target="_blank">GitHub #893</a> <a href="https://github.com/boostorg/geometry/issues/1299" target="_blank">GitHub #1299</a> 和演算の条件でのブロッキングリングを修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1342" target="_blank">GitHub #1342</a> touchとの組み合わせでのstart turnを破棄を修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1288" target="_blank">GitHub #1288</a> <a href="https://github.com/boostorg/geometry/issues/1345" target="_blank">GitHub #1345</a> (不完全な)touchの処理を修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1279" target="_blank">GitHub #1279</a> <code>covered_by</code>の不正確な結果を修正</li>
<li>エラーと警告の各種修正</li>
</ul>
</li>
</ul>
<h2><a href="#iterator" id="iterator">Iterator</a></h2>
<ul>
<li><a href="https://github.com/boostorg/iterator/issues/85" target="_blank">GitHub #85</a> <code>function_output_iterator</code>が<code>std::output_iterator</code>コンセプトに準拠するよう修正</li>
</ul>
<h2><a href="#interprocess" id="interprocess">Interprocess</a></h2>
<ul>
<li>Boostの依存関係を11から7に削減。</li>
<li><code>&lt;boost/interprocess/containers/*.hpp&gt;</code>ヘッダーを非推奨にした。2011年にはBoost.Containerの元ソースを参照していたが、現在はメンテナンスされていない。長期的な移行として、Boost.Interprocessはこれらのヘッダーを互換性のために維持してきた。将来のBoostリリースで削除される</li>
<li>Cygwinのいくつかの回避策を追加。リグレッションテストがCygwin64で動作するようになった</li>
<li><strong>ABI破壊的変更</strong>: <code>segment_manager</code>が、オーバーアラインされた型をサポートし、既存のバグを修正する新しい実装を使用。Boost 1.87より前のABIを取得するには、Boost.Interprocessヘッダーをインクルードする前に<code>BOOST_INTERPROCESS_SEGMENT_MANAGER_ABI</code>を<code>1</code>として定義すること</li>
<li>バグを修正:<ul>
<li><a href="https://github.com/boostorg/interprocess/issues/152" target="_blank">GitHub #152</a> <code>shared_memory_object</code>で<code>EINTR</code>を処理</li>
<li><a href="https://github.com/boostorg/interprocess/issues/173" target="_blank">GitHub #173</a> 管理共有メモリセグメントの値が整列されていない</li>
<li><a href="https://github.com/boostorg/interprocess/issues/192" target="_blank">GitHub #192</a> <code>managed_windows_shared_memory</code>が破壊時にクラッシュ</li>
<li><a href="https://github.com/boostorg/interprocess/issues/199" target="_blank">GitHub #199</a> <code>char_wchar_holder</code>の代入演算子で<code>m_is_wide</code>が不足/誤用</li>
<li><a href="https://github.com/boostorg/interprocess/issues/210" target="_blank">GitHub #210</a> <code>boost::interprocess::ipcdetail::sync_handles::obtain_mutex</code>のバグ</li>
<li><a href="https://github.com/boostorg/interprocess/issues/215" target="_blank">GitHub #215</a> SPARC 32ビットでboost/interprocess/segment_managerのアラインメント問題</li>
<li><a href="https://github.com/boostorg/interprocess/issues/217" target="_blank">GitHub #217</a> <code>managed_map_file</code>の<code>find_or_construct</code>がキャッシュアラインメントされたメモリを返さない</li>
<li><a href="https://github.com/boostorg/interprocess/issues/230" target="_blank">GitHub #230</a> MinGWで<code>interprocess::ipcdetail::intermodule_singleton</code>が動作しない</li>
<li><a href="https://github.com/boostorg/interprocess/issues/236" target="_blank">GitHub #236</a> <code>get_current_process_creation_time</code>の浮動小数点の不正確さにより<code>intermodule_singleton</code>の失敗</li>
</ul>
</li>
</ul>
<h2><a href="#json" id="json">JSON</a></h2>
<ul>
<li>直接的なシリアライズ</li>
<li>Boost.JSON型のGDBプリティプリンタを追加</li>
<li>構造体への変換で不明なキーを無視</li>
<li><code>value_to</code>の例外ラッピング動作を簡素化</li>
<li>非推奨のinitializer listの動作を削除</li>
<li>非推奨の型エイリアスを削除</li>
<li>MinGW ARM64での正確な64ビット乗算を使用</li>
<li>サイズの異なるタプルでの<code>parse_into</code>の処理を修正</li>
<li>シーケンスの許容サイズより大きな入力サイズをチェック</li>
<li>GCC 14での<code>value_ref</code>のセグメンテーション違反を修正</li>
</ul>
<h2><a href="#lexical_cast" id="lexical_cast">LexicalCast</a></h2>
<ul>
<li>Boost.Integerへの依存性を削除し、コンパイル時間を短縮</li>
</ul>
<h2><a href="#log" id="log">Log</a></h2>
<ul>
<li>Boost.Threadの同期プリミティブをC++標準ライブラリの同等物と置き換えた。これにより、マルチスレッドのパフォーマンスが向上する可能性があるが、ユーザー側での影響もある<ul>
<li>Boost.Threadのスレッド割り込み機能はサポートされなくなった。Boost.Logは、Boost.Threadによってスレッド割り込みを実装するために使用される <code>thread_interrupted</code> 例外に対して特別な処理を行わなくなった。この例外は他の任意の例外と同様に扱われる<ul>
<li>とくに、ユーザー指定の例外ハンドラが <code>thread_interrupted</code> のペンディング例外で呼び出されることがある</li>
</ul>
</li>
<li>timed wait操作について、タイムアウトは現在<code>std::chrono</code>の時間単位を使用している。これは、<code>bounded_ordering_queue</code> クラスと <code>unbounded_ordering_queue</code> クラスがサポートする <code>ordering_window</code> という名前付きパラメータが、Boost.DateTimeの <code>boost::posix_time::time_duration</code> ではなく <code>std::chrono::duration</code> の値を期待することを意味している</li>
<li>スレッド同期プリミティブによって示されるエラーの場合、Boost.Threadの例外型の代わりに <code>std::system_error</code> 例外が送出される</li>
</ul>
</li>
<li><code>strictest_lock</code> にC++標準ライブラリのlock型のサポートを追加</li>
</ul>
<h2><a href="#math" id="math">Math</a></h2>
<ul>
<li>メジャーアップデート</li>
<li>多数の特殊関数および分布が、CUDA(NVCCおよびNVRTC)およびSYCLをサポートするようになった</li>
<li><a href="https://github.com/boostorg/math/pull/1163" target="_blank">GitHub #1163</a> mapairy distribution、holtsmark distributionおよびsaspoint5 distributionを追加</li>
<li><a href="https://github.com/boostorg/math/pull/1159" target="_blank">GitHub #1159</a> landau distributionを追加した</li>
<li><a href="https://github.com/boostorg/math/issues/1169" target="_blank">GitHub #1169</a> beta quantileにおける予期しない例外を修正した</li>
</ul>
<h2><a href="#move" id="move">Move</a></h2>
<ul>
<li>いくつかのバグを修正:<ul>
<li><a href="https://github.com/boostorg/move/issues/56" target="_blank">Git Issue #56</a> std型の前方宣言が、一部のプラットフォームでコンパイルエラーを引き起こす</li>
</ul>
</li>
</ul>
<h2><a href="#mp11" id="mp11">Mp11</a></h2>
<ul>
<li><code>mp_lambda</code>を追加(提供者:Joaquin M Lopez Munoz氏)</li>
</ul>
<h2><a href="#multiprecision" id="multiprecision">Multiprecision</a></h2>
<ul>
<li><code>float128</code> をtrivially copyableにした</li>
<li><code>__float128</code> を非GNUモードでも浮動小数点型とみなすよう修正</li>
</ul>
<h2><a href="#mysql" id="mysql">MySQL</a></h2>
<ul>
<li><strong>実験的なAPIへの破壊的変更</strong>:<ul>
<li><code>connection_pool</code>でのスレッドセーフティ機能が再設計され、ユーザーの経験によって見つかったいくつかの設計の欠陥を克服した<ul>
<li><code>thread_safe</code>という<code>bool</code>オプションが<code>pool_params</code>に追加され、デフォルトでは<code>false</code>に設定されている。設定すると、一部のプール関数が挙動を変更して並行に安全に使用できるようになる。これは内部で<code>strand</code>を作成し、必要なときにそれにディスパッチし、cancel signalを再配線することで機能する</li>
<li><code>pool_params::thread_safe</code>が<code>false</code>の場合、通常のAsio executorのセマンティクスが適用され、オーバーヘッドはない</li>
</ul>
</li>
<li><code>pool_executor_params</code>は削除され、<code>pool_params::connection_executor</code>と<code>pool_params::thread_safe</code>に置き換えられた</li>
<li><code>connection_pool::async_get_connection</code>の組み込みタイムアウト機能が完全に削除された。この関数は現在、個々の操作のキャンセルをサポートしており、同じ機能は<code>asio::cancel_after</code>を使用することで達成できる</li>
<li><code>connection_pool</code>の破棄をすると、ほかのAsio I/Oオブジェクトと同様に、未処理の非同期操作がキャンセルされる。これによりリソースのリークが防止される</li>
<li>利用可能なコネクションがまだない状態で<code>async_get_connection</code>操作がキャンセルされた場合、操作は現在、プールの状態に応じて一貫して<code>client_errc::pool_not_running</code>、<code>client_errc::no_connection_available</code>、または<code>client_errc::pool_cancelled</code>で失敗する</li>
<li><code>client_errc::timeout</code>と<code>client_errc::cancelled</code>が削除された</li>
<li>プールが実行中でない状態で<code>async_get_connection</code>を呼び出すとすぐには失敗せず、<code>async_run</code>の呼び出しを待つ</li>
<li><code>sequence</code>は所有型を返すようになった。これにより、<code>with_params</code>と共に遅延非同期操作で使用することが安全になった</li>
<li><code>sequence</code>は別のヘッダー、<code>boost/mysql/sequence.hpp</code>に移動された</li>
</ul>
</li>
<li><code>any_connection</code>、クライアント側のSQLフォーマット(<code>format_sql</code>および<code>with_params</code>を含む)、および<code>connection_pool</code>を安定したAPIに昇格させた</li>
<li><code>connection</code>とそのエイリアスである<code>tcp_connection</code>、<code>tcp_ssl_connection</code>、および<code>unix_connection</code>の代わりに使用する新規コードとして、<code>any_connection</code>が推奨される</li>
<li>クエリテンプレート文字列とパラメータを包括する新しい <code>ExecutionRequest</code> である <code>with_params</code> を追加した</li>
<li><code>with_diagnostics</code>を追加した。これは同期的に例外を送出する関数の動作と一致するように、非同期関数によって送出される例外に <code>diagnostics</code> オブジェクトを含むアダプタ完了トークンである</li>
<li><code>with_diagnostics(asio::deferred)</code>は現在、<code>any_connection</code>と<code>connection_pool</code>のすべての操作のデフォルトの完了トークンである</li>
<li><code>connection_pool</code>の非同期関数は現在、操作ごとのキャンセルをサポートしている</li>
<li>すべての非同期操作は現在、<code>asio::cancel_after</code>、<code>asio::cancel_at</code>および同様の完了トークンをサポートしている</li>
<li><code>connection</code>と<code>any_connection</code>は現在、即時の完全性をトークンの即時エグゼキュータ (immediate executor) を介してディスパッチする</li>
<li>以前に接続されていない<code>any_connection</code>を使用しようとするとクラッシュする問題を修正した</li>
<li><code>field</code>の潜在的に例外送出可能なコンストラクタから間違った<code>noexcept</code>指定子を削除した</li>
<li>設定されたバッファサイズの制限を超える可能性があった書き込みバッファサイズの問題を修正した</li>
<li>ドキュメントとサンプルコードを大幅に更新し、新しい推奨されるベストプラクティスを反映させるようにした</li>
</ul>
<h2><a href="#pfr" id="pfr">PFR</a></h2>
<ul>
<li><a href="https://github.com/boostorg/pfr/pull/171" target="_blank">GitHub #171</a> <code>boost::pfr::for_each_field_with_name</code>関数が追加された (<a href="https://github.com/Baduit" target="_blank">Lena</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/pfr/pull/120" target="_blank">GitHub #120</a> 大きなサイズと小さなフィールド数を持つ構造体のコンパイル時間が大幅に改善された (<a href="https://github.com/runer112" target="_blank">Zachary Wassall</a>氏に感謝)</li>
<li><code>pragma</code>ディレクティブを修正</li>
<li>C++20モジュールへの初期サポートを追加した。詳細はドキュメントを参照</li>
<li><a href="https://github.com/boostorg/pfr/pull/183" target="_blank">GitHub #183</a>, <a href="https://github.com/boostorg/pfr/pull/187" target="_blank">GitHub #187</a> core_name14_disabled.hpp内の未使用変数の警告を修正 (<a href="https://github.com/anarthal" target="_blank">Anarthal (Rubén Pérez)</a>氏に感謝)</li>
<li>C++17における集成体内のフィールド数のデフォルト制限を100から200に引き上げた</li>
<li>GCCが<code>-Wundefined-var-template</code>を認識していないことに関する警告を修正</li>
<li>複数の軽微なコンパイル時間の改善</li>
</ul>
<h2><a href="#process" id="process">Process</a></h2>
<ul>
<li>(v2) Windowsでの<code>async_wait</code>のキャンセルを実装した</li>
<li>(v2) <code>FORCE_DISABLE_CLOSE_RANGE</code>を追加した</li>
<li>(v2) ext: BSDおよびSolarisの複数のext修正</li>
<li>(v2) 未使用の <code>ext</code> 関数が現在コンパイルされ、 <code>operation_not_supported</code> エラーが与えられるようになった(IOSを含む)</li>
<li>(v2) 複数のリンクを修正</li>
<li>(v2) リンクされたライブラリからfilesystemが削除された - 使用されるfilesystemライブラリの機能としては、ヘッダーファイルに実装があるもののみとなった</li>
<li>(v1) 1.88に対する非推奨通知を追加</li>
</ul>
<h2><a href="#smart_ptr" id="smart_ptr">SmartPtr</a></h2>
<ul>
<li>C++03のサポートを終了し、C++11のコンパイラが必要となる。これにはGCC 4.8以降、またはMSVC 14.0以降が含まれる</li>
<li>マクロ <code>BOOST_SP_ENABLE_DEBUG_HOOKS</code>、<code>BOOST_SP_USE_STD_ALLOCATOR</code>、<code>BOOST_SP_USE_QUICK_ALLOCATOR</code>、<code>BOOST_AC_USE_SPINLOCK</code>、<code>BOOST_AC_USE_PTHREADS</code>、<code>BOOST_SP_USE_SPINLOCK</code>、および<code>BOOST_SP_USE_PTHREADS</code>により有効化される機能は非推奨となり、将来のリリースでそのサポートは削除される</li>
</ul>
<h2><a href="#stacktrace" id="stacktrace">Stacktrace</a></h2>
<ul>
<li><a href="https://github.com/boostorg/stacktrace/pull/189" target="_blank">GitHub #189</a> <code>boost::stacktrace_from_exception</code>のCMakeターゲットが追加された (<a href="https://github.com/void-mian" target="_blank">int mian</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/stacktrace/pull/186" target="_blank">GitHub #186</a> MSVCでの静的ビルド時に<code>boost_stacktrace_impl_return_nullptr</code>をエクスポートしないようにした (<a href="https://github.com/huangqinjin" target="_blank">huangqinjin</a>氏に感謝)</li>
<li>Windows OSでclangを使用した際の、<code>ole32.lib</code>と<code>Dbgeng.lib</code>の自動リンクを修正した</li>
<li><a href="https://github.com/boostorg/stacktrace/pull/181" target="_blank">GitHub #181</a> ドキュメントで欠落していた名前空間を修正した (<a href="https://github.com/meastp" target="_blank">Mats Taraldsvik</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/stacktrace/pull/178" target="_blank">GitHub #178</a> <code>std::exception</code> のインクルード不足を修正した (<a href="https://github.com/jschueller" target="_blank">Julien Schueller</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/stacktrace/pull/175" target="_blank">GitHub #175</a> GCCが報告した型の変換エラーを修正した (<a href="https://github.com/jplcz" target="_blank">agent_J</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/stacktrace/pull/194" target="_blank">GitHub #194</a> CLIからB2の<code>from_exception</code>機能を使用できるようにした (<a href="https://github.com/grisumbras]氏に感謝" target="_blank">Dmitry Arkhipov</a></li>
</ul>
<h2><a href="#stl_interfaces" id="stl_interfaces">STLInterfaces</a></h2>
<ul>
<li><a href="https://github.com/boostorg/stl_interfaces/issues/71" target="_blank">GitHub #71</a> シーケンスコンテナ <code>swap</code> の誤って記録された要件を正しくした。期待される戻り値は <code>bool</code> ではなく <code>void</code> である</li>
<li><a href="https://github.com/boostorg/stl_interfaces/issues/65" target="_blank">GitHub #65</a> <code>view_adaptor.hpp</code>のアダプターのデータメンバーに <code>[[no_unique_address]]</code> を追加した</li>
<li><a href="https://github.com/boostorg/stl_interfaces/pull/68" target="_blank">GitHub #68</a> ClangとMSVCの最近のバージョンで <code>__cpp_explicit_this_parameter</code> を介してサポートをアドバタイズしていない <code>this</code> の推論を可能にした</li>
</ul>
<h2><a href="#test" id="test">Test</a></h2>
<ul>
<li><a href="https://github.com/boostorg/test/pull/348" target="_blank">GitHub #348</a> ダミー条件に対するclang tidyのサポートを修正した</li>
<li><a href="https://github.com/boostorg/test/pull/431" target="_blank">GitHub #431</a> clangでの動的リンクを修正した</li>
</ul>
<h2><a href="#unordered" id="unordered">Unordered</a></h2>
<ul>
<li>メジャーアップデート</li>
<li>並行ノードベースコンテナ <code>boost::concurrent_node_map</code> と <code>boost::concurrent_node_set</code> を追加</li>
<li>並行コンテナに <code>insert_and_visit(x, f1, f2)</code> および類似の操作を追加した。これは、挿入直後に要素を訪問することを可能にする(対照的に、 <code>insert_or_visit(x, f)</code> は、挿入が行われなかった場合にのみ要素を訪問する)</li>
<li><a href="https://github.com/boostorg/unordered/pull/265" target="_blank">GitHub #265</a> 要素の安全な可変変更を可能にするため、特定の <code>boost::concurrent_flat_set</code> 操作内で訪問を排他的にロック</li>
<li>Visual Studio Natvisでは、任意のファンシーなポインタ型をサポートした。このことは、適切なNatvisカスタマイズポイント "Intrinsic" 関数がファンシーポインタ型自体に対して書かれている限り、任意のファンシーポインタ型に適用できる</li>
<li>すべてのコンテナとイテレータにGDBのプリティプリンタが追加されました。ファンシーポインタを使用するアロケータを持つコンテナに対しては、ファンシーポインタ型そのものに対して適切なプリティプリンタが書かれている場合にのみ、これらは機能する</li>
<li><a href="https://github.com/boostorg/unordered/pull/277" target="_blank">GitHub #277</a> オープンアドレッシングコンテナに対する <code>std::initializer_list</code> への代入の問題を修正した</li>
<li>接続コンテナの <code>std::initializer_list</code> オーバーロードの <code>insert_{and|or}_[c]visit</code> にコピー不可能なコールバックを渡すことができるようにした。これは内部的にコールバックの <code>std::reference_wrapper</code> をイテレーターペアのオーバーロードに渡す</li>
</ul>
<h2><a href="#url" id="url">URL</a></h2>
<ul>
<li><a href="https://github.com/boostorg/url/issues/856" target="_blank">GitHub #856</a> 機能追加: <code>set_params</code>が<code>encoding_opts</code>をサポート</li>
<li><a href="https://github.com/boostorg/url/issues/857" target="_blank">GitHub #857</a> リファクタリング: APIから非推奨のvariant2エイリアスを除外</li>
<li><a href="https://github.com/boostorg/url/issues/864" target="_blank">GitHub #864</a> リファクタリング: <code>query_rule</code>に一貫した解釈</li>
</ul>
<h2><a href="#uuid" id="uuid">UUID</a></h2>
<ul>
<li>1.86で間違って削除した <code>constexpr uuid</code> を構築する機能を復元</li>
</ul>
<h2><a href="#wave" id="wave">Wave</a></h2>
<ul>
<li>バグ修正:<ul>
<li><a href="https://github.com/boostorg/wave/issues/220" target="_blank">GitHub #220</a>:C++20と空の文字列化パラメータでのセグメンテーション違反を修正 (<a href="https://github.com/jwnhy" target="_blank">Lu HongYi</a>氏に感謝)</li>
<li><a href="https://github.com/boostorg/wave/issues/222" target="_blank">GitHub #222</a>:含まれるファイルの最初の行が空白の場合に行ディレクティブがない問題を修正 (<a href="https://github.com/njnobles" target="_blank">Nick Nobles</a>氏に感謝)</li>
</ul>
</li>
<li>ビルドの改善(モジュールビルドのサポートを含む) (<a href="https://github.com/grafikrobot" target="_blank">René Rivera</a>氏に感謝)</li>
</ul>
<h2>テスト済みコンパイラ</h2>
<p>主要なテストコンパイラ:</p>
<ul>
<li>Linux:<ul>
<li>Clang, C++03: 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 12.0.0, 13.0.0, 14.0.0, 15.0.0</li>
<li>Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0</li>
<li>Clang, C++14: 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0</li>
<li>Clang, C++17: 6.0.1, 7.0.0, 8.0.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0</li>
<li>Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0</li>
<li>GCC, C++03: 4.6.3, 11, 12</li>
<li>GCC, C++11: 4.7.3, 4.8.5, 11, 12</li>
<li>GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12</li>
<li>GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12</li>
<li>GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12</li>
</ul>
</li>
<li>OS X:<ul>
<li>Apple Clang, C++03: 11.0.3</li>
<li>Apple Clang, C++11: 11.0.3</li>
<li>Apple Clang, C++14: 11.0.3</li>
<li>Apple Clang, C++17: 11.0.3</li>
<li>Apple Clang, C++20: 11.0.3</li>
</ul>
</li>
<li>Windows:<ul>
<li>Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3</li>
</ul>
</li>
</ul>
<h2>翻訳</h2>
<p><a href="https://github.com/faithandbrave" target="_blank">Akira Takahashi</a></p></div></content>
<author>
<name>Akira Takahashi</name>
<email>[email protected]</email>
</author>
</entry>
<entry>
<title>Boost 1.87.0リリースノート -- 1.87.0 : 目次を作成</title>
<link href="https://boostjp.github.io/document/version/1_87_0.html"/>
<id>c2e39928785f3c8246e00920d4297c4738ee70eb:document/version/1_87_0.md</id>
<updated>2024-12-06T23:05:01+09:00</updated>
<content type="html"><h1 itemprop="name"><span class="token">Boost 1.87.0リリースノート</span></h1>
<div itemprop="articleBody"><p>本家リリースノート:</p>
<ul>
<li><a href="https://github.com/boostorg/website/blob/master/feed/history/boost_1_87_0.qbk" target="_blank">https://github.com/boostorg/website/blob/master/feed/history/boost_1_87_0.qbk</a></li>
<li><a href="http://www.boost.org/users/history/version_1_87_0.html" target="_blank">http://www.boost.org/users/history/version_1_87_0.html</a></li>
</ul>
<p>リポジトリは以下:</p>
<ul>
<li><a href="https://github.com/boostorg/" target="_blank">https://github.com/boostorg/</a></li>
</ul>
<p>リポジトリからのビルド方法は、egtraさんのブログを参照:</p>
<ul>
<li>「<a href="http://dev.activebasic.com/egtra/2013/12/03/620/" target="_blank">Modularized Boost(GitHubへ移行したリポジトリ)を使用する</a>」</li>
</ul>
<h2>新ライブラリ</h2>
<ul>
<li><a href="https://boost.org/libs/parser" target="_blank">Parser</a><ul>
<li>パーサー構築のフレームワーク。作者Zach Laine氏</li>
</ul>
</li>
</ul>
<h2>更新ライブラリ</h2>
<ul>
<li><a href="#asio">Asio</a></li>
<li><a href="#atomic">Atomic</a></li>
<li><a href="#beast">Beast</a></li>
<li><a href="#charconv">Charconv</a></li>
<li><a href="#cobalt">Cobalt</a></li>
<li><a href="#compat">Compat</a></li>
<li><a href="#container">Container</a></li>
<li><a href="#filesystem">Filesystem</a></li>
<li><a href="#flyweight">Flyweight</a></li>
<li><a href="#geometry">Geometry</a></li>
<li><a href="#iterator">Iterator</a></li>
<li><a href="#interprocess">Interprocess</a></li>
<li><a href="#json">JSON</a></li>
<li><a href="#lexical_cast">LexicalCast</a></li>
<li><a href="#log">Log</a></li>
<li><a href="#math">Math</a></li>
<li><a href="#move">Move</a></li>
<li><a href="#mp11">Mp11</a></li>
<li><a href="#multiprecision">Multiprecision</a></li>
<li><a href="#mysql">MySQL</a></li>
<li><a href="#pfr">PFR</a></li>
<li><a href="#process">Process</a></li>
<li><a href="#smart_ptr">SmartPtr</a></li>
<li><a href="#stacktrace">Stacktrace</a></li>
<li><a href="#stl_interfaces">STLInterfaces</a></li>
<li><a href="#test">Test</a></li>
<li><a href="#unordered">Unordered</a></li>
<li><a href="#url">URL</a></li>
<li><a href="#uuid">UUID</a></li>
<li><a href="#wave">Wave</a></li>
</ul>
<h2><a href="#asio" id="asio">Asio</a></h2>
<ul>
<li>byte spanとそのシーケンスを、バッファシーケンスとして使用できるサポートを追加。これにより、<code>async_read</code>などのI/O操作に直接渡すことができる</li>
<li>非同期操作がエラーなしで完了したかどうかをテストできるgeneric dispositionのサポートを追加。これには<code>error_code</code>と<code>exception_ptr</code>が含まれるが、<code>disposition_traits</code>クラステンプレートの特殊化によってユーザー定義の型に拡張できる。標準型の<code>std::error_code</code>と<code>std::exception_ptr</code>がディスポジションとして認識される</li>
<li><code>boost::asio::use_future</code>完了トークン、<code>boost::asio::awaitable&lt;&gt;</code>ベースのコルーチン、<code>boost::asio::spawn()</code>、<code>boost::asio::experimental::cancellation_condition</code>にディスポジションサポートを追加</li>
<li><code>execution_context::service_maker</code>抽象基底クラスを追加。<code>service_maker</code>はexecution contextのコンストラクタに渡されるオブジェクトで、コンテキスト構築時にサービスを追加できる</li>
<li><code>boost::asio::config</code>を追加。execution contextに関連する設定パラメータにアクセスできる。このクラスはAsioの内部、またはAsioの上に構築されるライブラリやユーザー提供の抽象化での使用を意図しており、特定の最適化の有効化/無効化などの動作を微調整するために使用される。<code>boost::asio::config_from_env</code>、<code>boost::asio::config_from_concurrency_hint</code>、<code>boost::asio::config_from_string</code>などの具体的な設定ソースを<code>io_context</code>または<code>thread_pool</code>のコンストラクタに渡すことができる</li>
<li>Asioの<code>io_context</code>と<code>thread_pool</code>実装で認識される初期設定パラメータセットを追加</li>
<li>以前に非推奨だった機能をいくつか削除</li>
<li><code>basic_io_object</code>と<code>deadline_timer</code>を非推奨化</li>
<li>associating binderに右辺値修飾の<code>operator()</code>オーバーロードを追加。</li>
<li>モジュラービルド構造のサポートを追加</li>
<li>ムーブ専用型を返す関数の<code>spawn()</code>を修正</li>
<li>コンセプトサポートを必要としないよう<code>co_composed</code>を修正</li>
<li>epollリアクターがfork後に通常のfile descriptorを再登録しないよう修正</li>
<li><code>ssl::detail::engine</code>ムーブ代入のリークを修正</li>
<li><code>BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING</code>が定義されている場合のコンパイルエラーを修正</li>
<li>Clang 19を使用する際のコンパイルエラーを修正</li>
<li><code>thread_pool::join()</code>を変更し、<code>thread_pool::attach()</code>で後に追加されるスレッドを確実に停止するようにした</li>
<li>ストリーム指向操作で使用される<code>io_uring_prep_write_fixed</code>と<code>io_uring_prep_read_fixed</code>に渡されるオフセットを修正</li>
<li>詳細は<a href="https://www.boost.org/doc/libs/release/doc/html/boost_asio/history.html" target="_blank">Revision History</a>を参照</li>
</ul>
<h2><a href="#atomic" id="atomic">Atomic</a></h2>
<ul>
<li><a href="https://github.com/boostorg/atomic/issues/72" target="_blank">GitHub #72</a> アトミック待機状態リストのメモリ再確保時の初期化を修正</li>
</ul>
<h2><a href="#beast" id="beast">Beast</a></h2>
<ul>
<li>APIの変更<ul>
<li><code>basic_fields::insert()</code>に<code>error_code</code>オーバーロードを追加</li>
<li>permessage-deflateの状態を照会するための<code>websocket::stream::get_status</code>のオーバーロードを追加</li>
</ul>
</li>
<li>修正<ul>
<li>タイムアウト時に<code>bad_executor</code>例外を引き起こす<code>http::basic_stream</code>内の<code>net::dispatch</code>呼び出しでのムーブ後使用を修正</li>
<li>初期化関数内の変更操作を削除</li>
<li><code>teardown_tcp_op</code>でのキャンセル処理を修正</li>
<li><code>on_finish_impl</code>を呼び出す前に<code>basic_parser</code>の<code>state_</code>を設定</li>
<li><code>clamp</code>関数から<code>static</code>指定子を削除</li>
<li>テストでの<code>-Wattributes</code>警告に対処</li>
<li>テストでの到達不能コード警告に対処</li>
</ul>
</li>
<li>改善<ul>
<li><code>beast::http</code>名前空間の型の前方宣言ヘッダーを追加</li>
<li><code>http::parser</code>が<code>error_code</code>オーバーロードを使用した<code>basic_fields::insert()</code>を使用できるよう修正</li>
<li><code>http::basic_parser</code>に<code>header_limit_</code>をトレーラーヘッダーに適用</li>
<li><code>http::basic_parser</code>が<code>http::error::header_limit</code>をより早く返すように改善</li>
<li>モジュラーBoostビルド構造のサポートを追加</li>
</ul>
</li>
<li>謝辞<ul>
<li>Jackarain, Saleh Hatefinya, René Ferdinand Rivera Morell</li>
</ul>
</li>
</ul>
<h2><a href="#charconv" id="charconv">Charconv</a></h2>
<ul>
<li><code>__ibm128</code>をlong double formatとして使用するPPC64LE アーキテクチャのサポートを修正</li>
<li>Windows ARM64プラットフォームでの組み込み関数の使用を修正</li>
<li><code>std::float128_t</code>または<code>__float128</code>を使用した固定小数点の指定精度でのフォーマットを修正</li>
</ul>
<h2><a href="#cobalt" id="cobalt">Cobalt</a></h2>
<ul>
<li><code>get_executor</code>で定数参照を返す要件を削除</li>
<li>実験的/構成を追加</li>
</ul>
<h2><a href="#compat" id="compat">Compat</a></h2>
<ul>
<li><code>to_array.hpp</code>を追加(Ruben Perez Hidalgo氏の貢献)</li>
</ul>
<h2><a href="#container" id="container">Container</a></h2>
<ul>
<li><code>static_vector</code>と<code>small_vector</code>に<code>stored_size</code>オプションを追加</li>
<li>バグ/問題を修正:<ul>
<li><a href="https://github.com/boostorg/container/issues/261" target="_blank">GitHub #261</a> 終端イテレータは参照できない問題を修正</li>
<li><a href="https://github.com/boostorg/container/issues/288" target="_blank">GitHub #288</a> <code>small_vectorで</code>flat_map::extract_sequence`を使用する際のコンパイルエラーを修正</li>
</ul>
</li>
</ul>
<h2><a href="#filesystem" id="filesystem">Filesystem</a></h2>
<ul>
<li>1.84.0で発表されたように、Windows 10より前のバージョンはサポートされなくなった</li>
<li><a href="https://github.com/boostorg/filesystem/issues/325" target="_blank">GitHub #325</a> Windowsでは、<code>canonical</code>が<code>GetFinalPathNameByHandleW</code> WinAPI関数に基づくようになった。副次的効果として、ドライブ文字は大文字に変換され、結果のパスの相互運用性が向上した</li>
<li>[v4:] <code>canonical</code>は、入力パスに末尾のディレクトリ区切り文字 (trailing directory separator)がある場合でも、結果のパスに末尾のディレクトリ区切り文字を生成しなくなった</li>
<li><a href="https://github.com/boostorg/filesystem/issues/326" target="_blank">GitHub #326</a> <code>path</code>コンストラクタまたはメンバ関数が、<code>path</code>に変換可能なユーザー定義型の引数と1つ以上の<code>Source</code>型で呼び出された場合、デフォルトで<code>path</code>への変換が選択されるようになった。これにより一部の引数変換のあいまいさが解消される可能性があるが、変換パスが最適でない場合もある。異なる変換パスが必要な場合、ユーザーには明示的な型キャストの使用を推奨される</li>
<li><a href="https://github.com/boostorg/filesystem/issues/328" target="_blank">GitHub #328</a> FreeBSD 9以前の<code>dirfd</code>がマクロである場合の回避策を追加</li>
</ul>
<h2><a href="#flyweight" id="flyweight">Flyweight</a></h2>
<ul>
<li>マルチスレッドシナリオで優れたパフォーマンスを提供する、Boost.Unorderedの並行コンテナに基づく<code>concurrent_factory</code>を追加</li>
<li><a href="https://github.com/boostorg/flyweight/issues/15" target="_blank">GitHub #15</a> 以前に例外送出しないとドキュメントに記載されていた<code>boost::flyweight</code>操作に<code>noexcept</code>を付与</li>
</ul>
<h2><a href="#geometry" id="geometry">Geometry</a></h2>
<ul>
<li>改善<ul>
<li>コードの一部で<code>typedef</code>の代わりに<code>using</code>を使用</li>
<li>コードの一部でエイリアスを使用してメタ関数を現代化</li>
<li>モジュラービルド構造のサポートを追加</li>
<li>CMakeカバレッジの完全化(GitHub Actionsのcmakeテストを追加)</li>
<li>ドキュメントワークフローの改善</li>
<li>QtとWxWidgetsの例を更新</li>
<li>C++17と23に備えて列挙を追加</li>
</ul>
</li>
<li>重大な変更<ul>
<li>非推奨のリスケーリングコードを削除</li>
</ul>
</li>
<li>解決した問題<ul>
<li><a href="https://github.com/boostorg/geometry/issues/1309" target="_blank">GitHub #1309</a> 一部のqbkインクルードの不足を修正</li>
<li><a href="https://github.com/boostorg/geometry/issues/1226" target="_blank">GitHub #1226</a> <a href="https://github.com/boostorg/geometry/issues/1326" target="_blank">GitHub #1326</a> ringに対するextra roundを修正</li>