※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。
序文
ISO (国際標準化機構) は、各国の標準化団体 (ISO メンバー団体) の世界的な連合です。国際規格の作成作業は、通常、ISO 技術委員会を通じて行われます。技術委員会が設立された主題に関心のある各会員団体は、その委員会に代表される権利を有します。 ISOと連携して、政府および非政府の国際機関もこの作業に参加しています。 ISO は、電気技術の標準化に関するすべての問題について、国際電気標準会議 (IEC) と緊密に協力しています。
この文書の作成に使用された手順と、今後の維持を意図した手順は、ISO/IEC 指令に記載されています。 1. 特に、さまざまなタイプの ISO 文書に必要なさまざまな承認基準に注意する必要があります。この文書は、ISO/IEC 指令の編集規則に従って作成されました。 2 ( www.iso.org/directives を参照)
このドキュメントの要素の一部が特許権の対象となる可能性があることに注意してください。 ISO は、そのような特許権の一部または全部を特定する責任を負わないものとします。ドキュメントの開発中に特定された特許権の詳細は、序文および/または受信した特許宣言の ISO リストに記載されます ( www.iso.org/patents を参照)
このドキュメントで使用されている商号は、ユーザーの便宜のために提供された情報であり、保証を構成するものではありません。規格の自主的な性質に関する説明、適合性評価に関連する ISO 固有の用語と表現の意味、および技術的貿易障壁 (TBT) における世界貿易機関 (WTO) の原則への ISO の準拠に関する情報については、次を参照してください。次の URL: www.iso.org/iso/foreword.html
このドキュメントは、合同技術委員会 ISO/IEC JTC 1, 情報技術、小委員会 SC 22, プログラミング言語、その環境、およびシステム ソフトウェア インターフェイスによって作成されました。 ISO/IEC 19568:2017 のこの版は、技術的に改訂され、次の変更を含む ISO/IEC 19568:2015 版を取り消して置き換えます。
- サンプルアルゴリズムの追加。
- 新しい乱数生成機能とそれを使用するアルゴリズムの追加。
- 均一なコンテナ消去のためのアルゴリズムの追加。
- 関数テンプレートnot_fnの追加。
- 論理演算子の型特性の junction 、 disjunction 、およびnegationの追加。
- 「検出イディオム」をサポートするテンプレートの追加。
- Propagate_constクラス テンプレートの追加。
- observer_ptrクラス テンプレートの追加。
- make_arrayおよびto_array関数テンプレートの追加。
- ostream_joinerクラス テンプレートの追加。
- gcdおよびlcmアルゴリズムの追加。
- source_location構造体の追加。
- 検索アルゴリズムの戻り値の型の変更。
- すべてのライブラリをインライン名前空間basics_v2に移動します。
- その他の不具合の解決。
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO member bodies). The work of preparing International Standards is normally carried out through ISO technical committees. Each member body interested in a subject for which a technical committee has been established has the right to be represented on that committee. International organizations, governmental and non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization.
The procedures used to develop this document and those intended for its further maintenance are described in the ISO/ IEC Directives, 1. In particular the different approval criteria needed for the different types of ISO documents should be noted. This document was drafted in accordance with the editorial rules of the ISO/IEC Directives, 2 (see www.iso.org/directives ).
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO shall not be held responsible for identifying any or all such patent rights. Details of any patent rights identified during the development of the document will be in the Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents ).
Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement. For an explanation on the voluntary nature of standards, the meaning of ISO specific terms and expressions related to conformity assessment, as well as information about ISO's adherence to the World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see the following URL: www.iso.org/iso/foreword.html
This document was prepared by Joint Technical Committee ISO/IEC JTC 1, Information Technology, Subcommittee SC 22, Programming languages, their environments and system software interfaces. This edition of ISO/IEC 19568:2017 cancels and replaces the edition ISO/IEC 19568:2015, which has been technically revised and includes the following changes:
- Addition of the sample algorithm.
- Addition of new random-number generation facilities, and algorithms which use them.
- Addition of algorithms for uniform container erasure.
- Addition of function template not_fn.
- Addition of logical operator type traits conjunction, disjunction, and negation.
- Addition of templates to support the"detection idiom".
- Addition of the propagate_const class template.
- Addition of the observer_ptr class template.
- Addition of the make_array and to_array function templates.
- Addition of the ostream_joiner class template.
- Addition of the gcd and lcm algorithms.
- Addition of the source_location struct.
- Changes to the return types of search algorithms.
- Moving all libraries to the inline namespace fundamentals_v2.
- Miscellaneous defect resolutions.