)?(|)?Note(s?)(|)?:\s*(|)?\s*,,
18 |
19 | s,,,g
20 | s,,,g
21 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/foreign-index.js:
--------------------------------------------------------------------------------
1 | /* Copyright 2014 Google Inc. All rights reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | */
15 |
16 | Polymer('cxx-foreign-index', {
17 | attachIndex: function(e) {
18 | this.index = e.detail.response;
19 | if (typeof(this.index) != 'object') {
20 | this.index = JSON.parse(this.index);
21 | }
22 |
23 | for (var property in this.index) {
24 | if (this.index.hasOwnProperty(property) &&
25 | typeof(this.index[property]) != 'string') {
26 | console.error(this.src,
27 | 'should map section names to their numbers, but',
28 | property, 'mapped to', this.index[property]);
29 | }
30 | }
31 | }
32 | });
33 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/foreign-index.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
21 |
22 |
24 |
25 |
26 |
27 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/bower_components/polymer/README.md:
--------------------------------------------------------------------------------
1 | # Polymer
2 |
3 | [](http://build.chromium.org/p/client.polymer/waterfall)
4 |
5 | ## Brief Overview
6 |
7 | For more detailed info goto [http://polymer-project.org/](http://polymer-project.org/).
8 |
9 | Polymer is a new type of library for the web, designed to leverage the existing browser infrastructure to provide the encapsulation and extendability currently only available in JS libraries.
10 |
11 | Polymer is based on a set of future technologies, including [Shadow DOM](http://w3c.github.io/webcomponents/spec/shadow/), [Custom Elements](http://w3c.github.io/webcomponents/spec/custom/) and Model Driven Views. Currently these technologies are implemented as polyfills or shims, but as browsers adopt these features natively, the platform code that drives Polymer evacipates, leaving only the value-adds.
12 |
13 | ## Tools & Testing
14 |
15 | For running tests or building minified files, consult the [tooling information](https://www.polymer-project.org/resources/tooling-strategy.html).
16 |
17 | ## Releases
18 |
19 | [Release (tagged) versions](https://github.com/Polymer/polymer/releases) of Polymer include concatenated and minified sources for your convenience.
20 |
21 | [](https://github.com/igrigorik/ga-beacon)
22 |
--------------------------------------------------------------------------------
/bower_components/core-ajax/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 | core-ajax
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
25 |
26 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/figure.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
20 |
21 |
22 |
29 |
30 | Figure {{figure_num}} —
31 |
32 |
33 |
34 |
47 |
48 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/note.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 | [ Note{{note_num}}:
23 |
24 | — end note ]
25 |
26 |
47 |
48 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/example.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 | [ Example{{example_num}}:
23 |
24 | — end example ]
25 |
26 |
47 |
48 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/footnote.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 | {{foot_num}}
31 |
32 |
45 |
46 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/include.js:
--------------------------------------------------------------------------------
1 | /* Copyright 2014 Google Inc. All rights reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | */
15 |
16 | /* The element replaces itself with the contents at
17 | * 'href'. It doesn't use a shadow root so that the other document
18 | * acts exactly as part of the current document. */
19 |
20 | (function() {
21 | "use strict";
22 | var includeProto = Object.create(HTMLElement.prototype);
23 | includeProto.attachedCallback = function() {
24 | this.link = document.createElement('link');
25 | this.link.setAttribute('rel', 'import');
26 | this.link.setAttribute('href', this.getAttribute('href'));
27 | this.link.onload = this.loaded.bind(this);
28 | this.link.onerror = function(e) {
29 | console.error(e);
30 | }
31 | document.head.appendChild(this.link);
32 | };
33 | includeProto.loaded = function(e) {
34 | var imported = this.link.import;
35 | this.link.parentNode.removeChild(this.link);
36 | var parent = this.parentNode;
37 | for (var elem = imported.body.firstChild; elem; elem = elem.nextSibling) {
38 | parent.insertBefore(elem.cloneNode(true), this);
39 | }
40 | parent.removeChild(this);
41 | };
42 | document.registerElement('cxx-include', {prototype: includeProto});
43 | })();
44 |
--------------------------------------------------------------------------------
/mods.html:
--------------------------------------------------------------------------------
1 |
2 |
Modifications to the C++ Standard Library
3 |
4 |
5 |
General
6 |
7 | Implementations that conform to this document shall
8 | behave as if the modifications contained in this section are made to ISO/IEC 14882:2020.
9 |
10 |
11 |
References to clauses within ISO/IEC 14882:2020 are written as "C++20 §3.2".
12 |
13 |
Unless otherwise specified, the whole of
14 | the Library introduction of ISO/IEC 14882:2020 ()
15 | is included into this document by reference.
16 |
17 |
18 |
19 |
Exception Requirements
20 |
The following modifications to the Library introduction ()
21 | allow the destructor of scope_success () to throw exceptions.
22 |
The requirements of
23 | shall apply with the following modification:
24 | An applicable Throws: paragraph
25 | (in addition to any applicable Required behavior: paragraph)
26 | can allow a replacement function or handler function or destructor operation
27 | to exit via an exception.
28 |
29 |
The requirements of
30 | shall apply with the following modifications:
31 | Destructor operations defined in the C++ standard library are permitted to throw exceptions
32 | if this is explicitly specified.
33 | Only those destructors in the C++ standard library that do not have an exception specification
34 | shall behave as if they had a non-throwing exception specification.
35 |
38 |
39 |
43 |
44 |
45 |
46 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/framework.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
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 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/section.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
25 |
26 |
27 |
37 |
38 |
39 | {{sec_num}}[{{id}}]
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/clause.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
56 |
57 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/toc.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
19 |
20 |
40 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/toc.js:
--------------------------------------------------------------------------------
1 | /* Copyright 2014 Google Inc. All rights reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | */
15 |
16 | (function() {
17 | Polymer('cxx-toc', {
18 | // Hierarchy :: [{ elem: Element, title: H1, sections: Hierarchy }]
19 | sections: [],
20 |
21 | // Updated with the list of elements in the document each
22 | // time such an element is attached or detached.
23 | clauses: [],
24 |
25 | collectSections: function(root) {
26 | var sections = [];
27 | for (var child = root.firstElementChild; child;
28 | child = child.nextElementSibling) {
29 | if (child.tagName.toUpperCase() != 'CXX-SECTION')
30 | continue;
31 | sections.push(this.collectSections(child));
32 | }
33 | var h1 = root.querySelector('h1');
34 | return {elem: root,
35 | title: h1 ? h1.textContent : root.title,
36 | sections: sections};
37 | },
38 |
39 | updateClauses: function() {
40 | this.clauses = document.querySelectorAll('cxx-foreword,cxx-clause');
41 | },
42 |
43 | clausesChanged: function() {
44 | var clause_num = 1;
45 | this.sections = this.clauses.array().map(function(clause) {
46 | if (clause.set_clause_num) {
47 | // Don't number things that can't accept numbers, indicated
48 | // by not having a set_clause_num method.
49 | clause_num = clause.set_clause_num(clause_num);
50 | }
51 | return this.collectSections(clause);
52 | }, this);
53 | },
54 |
55 | domReady: function() {
56 | this.updateClauses();
57 | }
58 | })
59 | })();
60 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/definition-section.js:
--------------------------------------------------------------------------------
1 | /* Copyright 2014 Google Inc. All rights reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | */
15 |
16 | (function() {
17 | // Record the document that this element is declared in, so we can
18 | // pull the
template out of it.
19 | // The condition handles the HTML Imports polyfill:
20 | // http://www.polymer-project.org/platform/html-imports.html#other-notes
21 | var importDocument = document._currentScript
22 | ? document._currentScript.ownerDocument
23 | : document.currentScript.ownerDocument;
24 |
25 | Polymer('cxx-definition-section', {
26 | ready: function() {
27 | var parent_section = this.parentElement;
28 | while (parent_section && (parent_section.tagName != 'CXX-SECTION' && parent_section.tagName != 'CXX-CLAUSE')) {
29 | parent_section = parent_section.parentElement;
30 | }
31 | if (!parent_section) {
32 | console.error('cxx-definition-section', this,
33 | 'must be a descendent of a or element.');
34 | return;
35 | }
36 |
37 | var next_term_number = 1;
38 | for (var dt = this.firstElementChild; dt;
39 | dt = dt.nextElementSibling) {
40 | if (dt.tagName != 'DT')
41 | continue;
42 |
43 | dt.parent_section = parent_section;
44 | dt.term_number = next_term_number++;
45 |
46 | var template = importDocument.getElementById(
47 | 'cxx-definition-section-term').cloneNode(true);
48 | template.removeAttribute('id');
49 | template.model = dt;
50 |
51 | dt.createShadowRoot().appendChild(template);
52 | }
53 | }
54 | });
55 | })();
56 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/ref.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
29 |
30 |
31 | {{inElem.name}} §{{inElem.index[to]}}{{toElem.sec_num}}Table {{toElem.table_num}}Figure {{toElem.figure_num}}// , {{toElem.title_element.textContent}}
44 |
45 |
46 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | fundamentals-ts
2 | ===============
3 |
4 | The draft C++ Library Fundamentals Technical Specification.
5 |
6 | The draft can be viewed online at: https://cplusplus.github.io/fundamentals-ts/
7 |
8 | This TS is written using a set of [custom HTML elements](https://github.com/cplusplus/html-doc-framework)
9 | based on the [Polymer framework](http://www.polymer-project.org/).
10 |
11 |
12 | Style guide
13 | -----------
14 |
15 | This guide is intended to produce results compatible with the main C++
16 | standard, which is written in LaTeX.
17 |
18 | Look for applicable [`` elements](https://github.com/cplusplus/html-doc-framework),
19 | and write semantic markup according to http://developers.whatwg.org/.
20 |
21 | Generally use `` rather than ``, ``, `` or other
22 | monospacing elements. `` could be useful for sample compiler
23 | error messages. Don't use `` for code a user might enter: that's
24 | just ``.
25 |
26 | Use `` for emphasis and `` for text in another "voice", like
27 | comments and technical terms. `` is good for the defining
28 | instance of a term, but not for subsequent uses. I may add a
29 | `` element to call out uses of technical terms specifically,
30 | which will enable automatic cross-linking and indexing.
31 |
32 | Use `` for variables. There's tension between using it for all
33 | variables, including function parameters, and only calling out
34 | meta-variables used in documentation. I'm leaning toward only
35 | meta-variables, since marking up parameters requires a huge number of
36 | tags, which make it harder to read the source, and there's not much
37 | reason to italicize normal variables. Most meta-variables will end up
38 | marked up as `meta-variable`.
39 |
40 | Very little text is bold, either with `` or ``.
41 |
42 | Any repeated markup structure should be abstracted out into a custom
43 | element in the https://github.com/cplusplus/html-doc-framework project.
44 |
45 |
46 | Namespace formatting
47 | --------------------
48 |
49 | Namespace contents are indented by 2 spaces, with one blank line
50 | between the namespace open and the first line of the contents.
51 | Multiple namespaces can be opened at the same indentation level, like:
52 |
53 | ```c++
54 | namespace std {
55 | namespace experimental {
56 |
57 | class contents{};
58 |
59 | } // namespace experimental
60 | } // namespace std
61 | ```
62 |
63 | Namespaces are only shown in header synopses, not around class or
64 | function definitions.
65 |
--------------------------------------------------------------------------------
/numeric.html:
--------------------------------------------------------------------------------
1 |
2 |
26 |
27 |
28 | template<class PopulationIterator, class SampleIterator, class Distance>
29 | SampleIterator sample(PopulationIterator first, PopulationIterator last,
30 | SampleIterator out, Distance n);
31 |
32 | Equivalent to:
33 |
return ::std::sample(first, last, out, n, g);
34 | where g denotes
35 | the per-thread engine ().
36 | To the extent that the implementation of this function makes use of
37 | random numbers, the object g serves as the
38 | implementation’s source of randomness.
39 |
40 |
41 |
42 |
43 |
44 |
Shuffle
45 |
46 | template<class RandomAccessIterator>
47 | void shuffle(RandomAccessIterator first, RandomAccessIterator last);
48 | RandomAccessIterator meets the
49 | Cpp17ValueSwappable requirements ().
50 |
51 | Permutes the elements in the range [first,last)
52 | such that each possible permutation of those elements has equal
53 | probability of appearance.
54 | Exactly (last - first) - 1 swaps.
55 | To the extent that the implementation of this function
56 | makes use of random numbers, the per-thread engine ()
57 | serves as the implementation's source of randomness.
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/ref.js:
--------------------------------------------------------------------------------
1 | /* Copyright 2014 Google Inc. All rights reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | */
15 |
16 | (function() {
17 | Polymer('cxx-ref', {
18 | to: "",
19 | insynopsis: false,
20 |
21 | observe: {
22 | 'inElem.index': 'indexChanged'
23 | },
24 |
25 | checkInvariants: function() {
26 | if (this.in) {
27 | if (!this.inElem) {
28 | console.error(this, '.in (', this.in,
29 | ') must refer to a element.');
30 | }
31 | } else {
32 | if (!this.to) {
33 | console.error('', this,
34 | 'must have an `in` or `to` attribute.');
35 | } else if (!this.toElem) {
36 | console.error(this, '.to (', this.to,
37 | ') must refer to the ID of another element.');
38 | }
39 | }
40 | },
41 |
42 | inElemChanged: function() {
43 | if (this.inElem &&
44 | this.inElem.tagName.toUpperCase() != 'CXX-FOREIGN-INDEX') {
45 | console.error('.in (', this.in,
46 | ') must be a ; was',
47 | this.inElem);
48 | }
49 | },
50 | toElemChanged: function() {
51 | if (this.toElem) {
52 | this.async(function() {
53 | // Async makes sure the toElem is upgraded.
54 | if (!(this.toElem instanceof CxxSectionElement ||
55 | this.toElem instanceof CxxTableElement ||
56 | this.toElem instanceof CxxFigureElement)) {
57 | console.error("Reference from", this,
58 | "refers to non-section, non-table, non-figure element",
59 | this.toElem);
60 | }
61 | });
62 | }
63 | },
64 |
65 | indexChanged: function() {
66 | if (!(this.to in this.inElem.index)) {
67 | console.error(this.to, 'not found in', this.inElem);
68 | }
69 | }
70 | });
71 | })()
72 |
73 |
--------------------------------------------------------------------------------
/bower_components/webcomponentsjs/README.md:
--------------------------------------------------------------------------------
1 | webcomponents.js
2 | ================
3 |
4 | [](https://gitter.im/webcomponents/webcomponentsjs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5 |
6 | A suite of polyfills supporting the [Web Components](http://webcomponents.org) specs:
7 |
8 | **Custom Elements**: allows authors to define their own custom tags ([spec](https://w3c.github.io/webcomponents/spec/custom/)).
9 |
10 | **HTML Imports**: a way to include and reuse HTML documents via other HTML documents ([spec](https://w3c.github.io/webcomponents/spec/imports/)).
11 |
12 | **Shadow DOM**: provides encapsulation by hiding DOM subtrees under shadow roots ([spec](https://w3c.github.io/webcomponents/spec/shadow/)).
13 |
14 | This also folds in polyfills for `MutationObserver` and `WeakMap`.
15 |
16 |
17 | ## Releases
18 |
19 | Pre-built (concatenated & minified) versions of the polyfills are maintained in the [tagged versions](https://github.com/webcomponents/webcomponentsjs/releases) of this repo. There are two variants:
20 |
21 | `webcomponents.js` includes all of the polyfills.
22 |
23 | `webcomponents-lite.js` includes all polyfills except for shadow DOM.
24 |
25 |
26 | ## Browser Support
27 |
28 | Our polyfills are intended to work in the latest versions of evergreen browsers. See below
29 | for our complete browser support matrix:
30 |
31 | | Polyfill | IE10 | IE11+ | Chrome* | Firefox* | Safari 7+* | Chrome Android* | Mobile Safari* |
32 | | ---------- |:----:|:-----:|:-------:|:--------:|:----------:|:---------------:|:--------------:|
33 | | Custom Elements | ~ | ✓ | ✓ | ✓ | ✓ | ✓| ✓ |
34 | | HTML Imports | ~ | ✓ | ✓ | ✓ | ✓| ✓| ✓ |
35 | | Shadow DOM | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
36 | | Templates | ✓ | ✓ | ✓ | ✓| ✓ | ✓ | ✓ |
37 |
38 |
39 | *Indicates the current version of the browser
40 |
41 | ~Indicates support may be flaky. If using Custom Elements or HTML Imports with Shadow DOM,
42 | you will get the non-flaky Mutation Observer polyfill that Shadow DOM includes.
43 |
44 | The polyfills may work in older browsers, however require additional polyfills (such as classList)
45 | to be used. We cannot guarantee support for browsers outside of our compatibility matrix.
46 |
47 |
48 | ### Manually Building
49 |
50 | If you wish to build the polyfills yourself, you'll need `node` and `gulp` on your system:
51 |
52 | * install [node.js](http://nodejs.org/) using the instructions on their website
53 | * use `npm` to install [gulp.js](http://gulpjs.com/): `npm install -g gulp`
54 |
55 | Now you are ready to build the polyfills with:
56 |
57 | # install dependencies
58 | npm install
59 | # build
60 | gulp build
61 |
62 | The builds will be placed into the `dist/` directory.
63 |
64 | ## Contribute
65 |
66 | See the [contributing guide](CONTRIBUTING.md)
67 |
68 | ## License
69 |
70 | Everything in this repository is BSD style license unless otherwise specified.
71 |
72 | Copyright (c) 2015 The Polymer Authors. All rights reserved.
73 |
74 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/util/get-element-by-id.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
24 |
25 |
26 |
85 |
86 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/foreword.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
19 |
20 |
21 |
27 |
28 |
Foreword
29 |
30 |
31 | ISO (the International Organization for Standardization) is a
32 | worldwide federation of national standards bodies (ISO member
33 | bodies). The work of preparing International Standards is
34 | normally carried out through ISO technical committees. Each
35 | member body interested in a subject for which a technical
36 | committee has been established has the right to be represented
37 | on that committee. International organizations, governmental
38 | and non-governmental, in liaison with ISO, also take part in
39 | the work. ISO collaborates closely with the International
40 | Electrotechnical Commission (IEC) on all matters of
41 | electrotechnical standardization.
42 |
43 |
44 | The procedures used to develop this document and those
45 | intended for its further maintenance are described in the
46 | ISO/IEC Directives, Part 1. In particular the different
47 | approval criteria needed for the different types of ISO
48 | documents should be noted. This document was drafted in
49 | accordance with the editorial rules of the ISO/IEC Directives,
50 | Part 2.
51 | www.iso.org/directives
52 |
53 |
54 | Attention is drawn to the possibility that some of the
55 | elements of this document may be the subject of patent rights.
56 | ISO shall not be held responsible for identifying any or all
57 | such patent rights. Details of any patent rights identified
58 | during the development of the document will be in the
59 | Introduction and/or on the ISO list of patent declarations
60 | received.
61 | www.iso.org/patents
62 |
63 |
64 | Any trade name used in this document is information given for
65 | the convenience of users and does not constitute an
66 | endorsement.
67 |
68 |
69 | For an explanation on the meaning of ISO specific terms and
70 | expressions related to conformity assessment, as well as
71 | information about ISO's adherence to the WTO principles in the
72 | Technical Barriers to Trade (TBT) see the following URL:
73 | Foreword - Supplementary information
74 |
75 |
76 | The committee responsible for this document is ISO/IEC JTC1.
77 |
78 |
79 |
80 |
85 |
86 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/section.js:
--------------------------------------------------------------------------------
1 | /* Copyright 2014 Google Inc. All rights reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | */
15 |
16 | (function() {
17 | Polymer('cxx-section', {
18 | // String section number, like "17.2.3". 1-based.
19 | sec_num: "?",
20 |
21 | checkInvariants: function() {
22 | if (!this.id) {
23 | console.error(this, 'is missing an id.');
24 | }
25 | },
26 |
27 | update_sec_nums: function(sec_num) {
28 | this.sec_num = sec_num + '';
29 | var child_index = 1;
30 | // Assume there aren't any elements between cxx-section levels.
31 | for (var child = this.firstChild; child; child = child.nextSibling) {
32 | if (child instanceof CxxSectionElement) {
33 | if (child.number)
34 | child_index = Number(child.number);
35 | child.update_sec_nums(this.sec_num + '.' + child_index);
36 | child_index++;
37 | }
38 | }
39 | },
40 |
41 | sec_numChanged: function() {
42 | if (this.title_element) {
43 | this.title_element.setAttribute(
44 | 'data-bookmark-label',
45 | this.sec_num + ' ' + this.title_element.textContent);
46 | }
47 | },
48 |
49 | domReady: function() {
50 | var title_element = this.querySelector('h1');
51 | if (title_element && title_element.parentElement == this)
52 | this.title_element = title_element;
53 |
54 | this.numberParagraphChildren();
55 | },
56 |
57 | numberParagraphChildren: function(rootElement, para_num_start) {
58 | var para_num = para_num_start || 1;
59 | for (var child = (rootElement || this).firstElementChild;
60 | child;
61 | child = child.nextElementSibling) {
62 | if (child instanceof CxxSectionElement)
63 | return para_num;
64 | else if (child instanceof HTMLParagraphElement && !child.classList.contains('cont'))
65 | para_num = this.numberParagraph(para_num, child);
66 | else if (child instanceof CxxFunctionElement) {
67 | para_num = this.numberParagraph(para_num, child);
68 | para_num = this.numberParagraphChildren(child, para_num);
69 | } else if (child instanceof CxxFunctionAttributeElement)
70 | para_num = this.numberParagraph(para_num, child);
71 | }
72 | return para_num;
73 | },
74 |
75 | numberParagraph: function(number, element) {
76 | // If the paragraph is explicitly numbered, use that number.
77 | if (element.hasAttribute("number"))
78 | number = Number(element.getAttribute("number"))
79 |
80 | var id = this.id + '.' + number;
81 | if (element.id) {
82 | console.warn('Paragraph already has id:', element);
83 | var anchor = document.createElement('a');
84 | anchor.id = id;
85 | element.insertBefore(anchor, element.firstChild);
86 | } else {
87 | element.id = id;
88 | }
89 | element.setAttribute('para_num', number);
90 | return number + 1
91 | }
92 | })
93 | })();
94 |
--------------------------------------------------------------------------------
/papers/n4787.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | N4787 Editor's Report: C++ Library Fundamentals v3 TS
6 |
28 |
29 |
30 |
N4787 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3
There have been two motions since the previous revision:
48 |
49 |
50 |
San Diego 2018, LWG Motion 2:
51 | Move to apply to the Library Fundamentals TS working paper the proposed resolution
52 | of issues 2960 and 3134 in
53 | P1224R0
54 | (C++ Standard Library Issues to be moved in San Diego).
55 |
56 |
San Diego 2018, LWG Motion 3:
57 | Move to apply to the Library Fundamentals TS working paper the proposed wording in
58 | P1210R0
59 | (Completing the Rebase of Library Fundamentals, Version 3, Working Draft).
60 | This also resolves LWG issue 3134.
61 |
62 |
63 |
Editorial changes
64 |
65 |
The feature test macro table has been reordered to match the clause structure.
commit 2c5e2dcbecf58657a2ccf72df26b10af8fbf530c
73 | Author: Thomas Köppe <tkoeppe@google.com>
74 | Date: Tue Nov 13 20:42:44 2018 +0000
75 |
76 | [general.feature.test] Reorder feature test entries to match clause structure.
77 |
78 | The [utilities] clause was reorganised in 587379108d73ae79ff5d613e12e697f0f3775e91.
79 |
80 |
commit c612bb98827ec2be054e6eae1682359dbbd459b3
82 | Author: Thomas Köppe <tkoeppe@google.com>
83 | Date: Mon Nov 12 23:38:47 2018 +0000
84 |
85 | P1210R0 Completing the Rebase of Library Fundamentals, Version 3, Working Draft
86 |
87 |
commit 8c264c46cdae699d2e3ac95541e5a709a566e1b5
89 | Author: Thomas Köppe <tkoeppe@google.com>
90 | Date: Mon Nov 12 23:21:06 2018 +0000
91 |
92 | P1224R0 LWG2960 nonesuch is insufficiently useless
93 |
94 |
95 |
96 |
--------------------------------------------------------------------------------
/bower_components/core-ajax/test/core-ajax-progress.html:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 | core-ajax
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
27 |
28 |
31 |
107 |
108 |
109 |
--------------------------------------------------------------------------------
/bower_components/core-ajax/core-xhr.html:
--------------------------------------------------------------------------------
1 |
9 |
22 |
23 |
24 |
25 |
26 |
27 |
115 |
116 |
117 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/titlepage.js:
--------------------------------------------------------------------------------
1 | /* Copyright 2014 Google Inc. All rights reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | */
15 |
16 | (function() {
17 | Polymer('cxx-titlepage', {
18 | // Default properties
19 | projectNumber: null,
20 | docnum: null,
21 | hasPubdate: false,
22 | editor: null,
23 | revises: null,
24 | title: null,
25 | stage: null,
26 |
27 | computeStage: function() {
28 | var stages = ['draft', 'pdts', 'dts', 'ts'];
29 | var presentStages = stages.filter(function(stage) {
30 | return document.body.classList.contains('cxx-' + stage);
31 | });
32 | if (presentStages.length == 0) {
33 | if (!this.stage) {
34 | console.error('Couldn\'t find a document stage in body.classList:', document.body.classList);
35 | } else if (stages.indexOf(this.stage) == -1) {
36 | console.error('Unexpected stage: ' + this.stage);
37 | } else {
38 | document.body.classList.add('cxx-' + this.stage);
39 | }
40 | } else if (presentStages.length > 1) {
41 | console.error('Found multiple document stages in body.classList:', presentStages);
42 | } else {
43 | if (this.stage) {
44 | console.warn('Document stage set on both ("' + presentStages[0] +
45 | '") and ("' + this.stage + '")');
46 | }
47 | this.stage = presentStages[0];
48 | }
49 | },
50 |
51 | addISOSections: function() {
52 | if (this.stage !== 'ts') {
53 | // Only include the ISO requirements in the
54 | // document sent for publication.
55 | return;
56 | }
57 | var toc = document.querySelector('cxx-toc');
58 | if (toc) {
59 | var foreword = document.createElement('cxx-foreword');
60 | foreword.id = 'foreword';
61 | document.body.insertBefore(foreword, toc.nextSibling);
62 | }
63 | },
64 |
65 | domReady: function() {
66 | this.projectNumber = this.querySelector('cxx-project-number');
67 | this.docnum = this.querySelector('cxx-docnum');
68 | var pubdateElem = this.querySelector('time[pubdate]');
69 | this.hasPubdate = !!pubdateElem;
70 | if (pubdateElem) {
71 | var pubdate = pubdateElem.textContent.split('-');
72 | this.pubyear = pubdate[0];
73 | this.pubmonth = pubdate[1];
74 | this.pubday = pubdate[2];
75 | }
76 | this.editor = this.querySelector('cxx-editor');
77 | this.revises = this.querySelector('cxx-revises');
78 |
79 | var title = this.querySelector('h1:lang(en)') || this.querySelector('h1');
80 | if (title) {
81 | this.title = title.textContent;
82 | }
83 | this.title_fr = this.querySelector('h2:lang(fr)');
84 | if (this.title_fr) {
85 | this.title_fr = this.title_fr.textContent;
86 | }
87 |
88 | this.computeStage();
89 | var stage_suffix = '';
90 | if (this.stage == 'draft') {
91 | stage_suffix = ", Working Draft";
92 | } else if (this.stage == 'pdts') {
93 | stage_suffix = ", PDTS"
94 | } else if (this.stage == 'dts') {
95 | stage_suffix = ", DTS"
96 | }
97 | if (this.title) {
98 | document.title = this.title + stage_suffix;
99 | }
100 |
101 | this.addISOSections();
102 | this.completedDomReady = true;
103 | },
104 | })
105 | })();
106 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/table.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
24 |
25 |
26 |
63 |
64 |
There has been one motion since the previous revision:
81 |
82 |
83 |
Virtual Meeting February 2022, LWG Poll 1:
84 | Apply the changes for issue 3649
85 | in P2531R0
86 | (C++ Standard Library Issues to be moved in Virtual Plenary, Feb. 2022) to the Library Fundamentals TS working paper.
commit b162c345a5098b4e089530f09a745fad8007afe4
100 | Author: Thomas Köppe <tkoeppe@google.com>
101 | Date: Mon Feb 22 17:29:30 2021 +0000
102 |
103 | [general] Update reference to ISO 14882:2020, which has now been published.
104 |
105 |
commit 29d58a56713d1e211d73dc6cd5f78147467d7c72
107 | Author: frederick-vs-ja <de34@live.cn>
108 | Date: Tue May 4 21:04:14 2021 +0800
109 |
110 | [propagate_const.ctor] Use conditional `explicit` instead of "see below" (#83)
111 |
112 | Also remove redundant `&&`, which is implied by `is_convertible`.
113 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/promise-0.1.1.min.js:
--------------------------------------------------------------------------------
1 | !function(){var a,b,c,d;!function(){var e={},f={};a=function(a,b,c){e[a]={deps:b,callback:c}},d=c=b=function(a){function c(b){if("."!==b.charAt(0))return b;for(var c=b.split("/"),d=a.split("/").slice(0,-1),e=0,f=c.length;f>e;e++){var g=c[e];if(".."===g)d.pop();else{if("."===g)continue;d.push(g)}}return d.join("/")}if(d._eak_seen=e,f[a])return f[a];if(f[a]={},!e[a])throw new Error("Could not find module "+a);for(var g,h=e[a],i=h.deps,j=h.callback,k=[],l=0,m=i.length;m>l;l++)"exports"===i[l]?k.push(g={}):k.push(b(c(i[l])));var n=j.apply(this,k);return f[a]=g||n}}(),a("promise/all",["./utils","exports"],function(a,b){"use strict";function c(a){var b=this;if(!d(a))throw new TypeError("You must pass an array to all.");return new b(function(b,c){function d(a){return function(b){f(a,b)}}function f(a,c){h[a]=c,0===--i&&b(h)}var g,h=[],i=a.length;0===i&&b([]);for(var j=0;j
2 |
3 |
4 |
5 | N4841 Editor's Report: C++ Library Fundamentals v3 TS
6 |
28 |
29 |
30 |
N4841 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3
There have only been editorial changes since the previous revision; see
48 | the below commit log for details.
49 |
50 |
One change is worth calling out: the introduction used to say that the
51 | committee plans to release one revision of the TS per year. In consultation
52 | with the LEWG and LWG chairs, we have removed this mention of a concrete
53 | schedule, which does not seem to reflect current committee practice.
54 |
55 |
Many thanks to Jonathan Wakely for informing the Editor of the imminent shutdown
56 | of rawgit.com, and for driving the move of the prerendered HTML draft preview to
57 | GitHub Pages.
commit 27de2f5e99d75eeae19b1c8e6df13f67234a3e77
65 | Author: Thomas Köppe <tkoeppe@google.com>
66 | Date: Tue Nov 19 23:44:16 2019 +0000
67 |
68 | [general.plans] Relax future plans, remove "every year".
69 |
70 | The committee's current practice does not result in a new TS every
71 | year and is unlikely to do so anytime soon.
72 |
73 |
commit 40bc189cc5d1af94648633a55328c43a3d05a68c
75 | Author: Thomas Köppe <tkoeppe@google.com>
76 | Date: Sat Nov 9 20:11:43 2019 +0000
77 |
78 | [general.feature.test] Add <experimental/string> to entry for N4273
79 | ("Uniform Container Erasure")
80 |
81 | The feature also includes uniform erasure for std::string, and introduces
82 | the experimental "string" header.
83 |
84 |
commit eebfa00a8dcb698fe35a1a10e6c4083fd67a3eba
86 | Author: Thomas Köppe <tkoeppe@google.com>
87 | Date: Sat Nov 9 20:05:01 2019 +0000
88 |
89 | [general.feature.test] Add <experimental/utility> to features
90 | introduced by N3916 ("Polymorphic Memory Resources")
91 |
92 | The "utility" header defines the type "erased_type", which is used by all
93 | three PMR-aware facilities (function, promise, packaged_task).
94 |
95 |
commit 2673b450f35048c878015fc687a78984aa6c3651
97 | Author: Thomas Köppe <tkoeppe@google.com>
98 | Date: Sat Nov 9 14:24:02 2019 +0000
99 |
100 | [func, futures, utilities] Include "inline" in namespace-close comment
101 |
102 | The convention is to say "// inline namespace fundamentals_v3" etc.
103 |
104 |
commit cf3b407a17b8a4bb95a8b2ade295b7a27f69dfdc
106 | Author: Jonathan Wakely <cxx@kayari.org>
107 | Date: Thu Jul 4 14:47:45 2019 +0100
108 |
109 | [README.md] Update links to pre-rendered HTML drafts
110 |
111 | The rawgit.com site is going away, so use GitHub Pages instead.
112 |
113 |
commit 01c06f4ea358946e30eed51e469eb6cab0f0e147
115 | Author: Thomas Köppe <tkoeppe@google.com>
116 | Date: Tue Mar 19 23:36:18 2019 +0000
117 |
118 | [scopeguard.uniqueres.create] Fix nesting of example and code.
28 | ostream_joiner writes (using operator<<) successive elements onto the output stream from which it was constructed.
29 | The delimiter that it was constructed with is written to the stream between every two Ts that are written.
30 | It is not possible to get a value out of the output iterator.
31 | Its only use is as an output iterator in situations like
32 |
There has been one motion since the previous revision:
81 |
82 |
83 |
Virtual Meeting November 2020, LWG Poll 1:
84 | Apply the changes for issue 3413
85 | in P2236R0
86 | (C++ Standard Library Issues to be moved in Virtual Plenary, Nov. 2020) to the Library Fundamentals TS working paper.
87 |
88 |
This motion has been applied. A reference to the IS has been updated editorially to refer to C++20 instead of C++17.
89 |
90 |
Editorial changes
91 |
92 |
Only minor cosmetic tweaks; see the commit history below for details.
commit 63829a0fa948ea0e47bf4d14944571e0ed568d40
100 | Author: Thomas Köppe <tkoeppe@google.com>
101 | Date: Mon Nov 9 22:03:10 2020 +0000
102 |
103 | P2236R0 LWG3413 propagate_const's swap's noexcept specification
104 |
105 | Full issue title: "propagate_const's swap's noexcept specification
106 | needs to be constrained and use a trait".
107 |
108 | The wording of the LWG issue was relative to the older working draft
109 | N4840, which was based on C++17. References to the IS have been
110 | updated editorially to refer to C++20.
111 |
112 |
commit 0b443d91372aaf1db8f1195e0d8d29fe2ebaa6ba
114 | Author: Thomas Köppe <tkoeppe@google.com>
115 | Date: Mon Nov 9 21:41:40 2020 +0000
116 |
117 | [scopeguard] Move "equivalent to:" expressions onto new line
118 |
119 | This is both for internal consistency as well as for consistency with
120 | the IS.
121 |
122 |
commit 463cd3c4de8695756ff72914233d9fc03497fc44
124 | Author: Thomas Köppe <tkoeppe@google.com>
125 | Date: Mon Nov 9 21:17:28 2020 +0000
126 |
127 | [scopeguard.uniqueres.assign] Add missing space
128 |
129 |
commit d666dc28d31fed1cb7bd4d9def04bba7692d897d
131 | Author: Thomas Köppe <tkoeppe@google.com>
132 | Date: Wed Mar 4 16:35:40 2020 +0000
133 |
134 | [mods] Fix section numbers, add paragraph numbers
135 |
136 | Fixes a few section numbers and footnotes from the parts that are
137 | quoted from the IS (accidentally omitted from the rebase), and it adds
138 | paragraph numbers to the quoted paragraphs to aid orientation.
There were three motions affecting the Library Fundamentals TS since the previous revision,
81 | all at the first face-to-face WG21 meeting since the pandemic, in Kona 2022:
82 |
83 |
LWG Poll 1: Apply the changes for all Tentatively Ready issues in
84 | P2705R0
85 | (C++ Library Fundamentals TS Ready Issues to be moved in Kona, Nov. 2022)
86 | to the Working Paper for C++ Extensions for Library Fundamentals, version 3.
87 |
LWG Poll 2: Apply the changes in
88 | P0987R2
89 | (polymorphic_allocator<> instead of type-erasure)
90 | to the Working Paper for C++ Extensions for Library Fundamentals, version 3.
91 |
LWG Poll 3: Apply the changes in P2708R1
92 | (No Further Fundamentals TSes) to the Working Paper for C++ Extensions for Library Fundamentals, version 3.
93 |
94 |
All changes have been applied, with minor editorial corrections for P0987R2.
95 | Subclause [general.plans] has been dissolved because P2708R1 made it superfluous,
96 | and the remaining note has been moved into the preceding subclause.
commit 02d0c73726c96f17dbe8bf91f061a9095e9088f1
111 | Author: Alisdair Meredith <alisdairm@me.com>
112 | Date: Fri Sep 9 12:19:06 2022 -0400
113 |
114 | [functional.syn] use same comment wording as in C++20 (#96)
115 |
116 |
commit ae480c92113bd0bf494dbd279ef9eda6f93f88a4
118 | Author: Alisdair Meredith <alisdairm@me.com>
119 | Date: Fri Sep 9 12:21:03 2022 -0400
120 |
121 | functional.syn, func.wrap.func.overview] Remove operator== overloads (#93)
122 |
123 | Remove the redundant overloads of operator== that have been struck from C++20.
124 | For further simplicity, this follows the convention fully enforced in C++23
125 | that the functions declared in the header synopsis are not repeated below the class definition.
N4939
75 | is the current working draft. It revises
76 | N4926.
77 |
78 |
79 |
Change history and motions
80 |
81 |
82 | There have not been any motions since the previous revision. This revision only contains
83 | editorial changes, including those requested by the editorial review committee. New clauses
84 | “Scope”, “Normative references”, and “Terms and definitions”
85 | have been created in accordance with the ISO Drafting Directives.
86 |
commit d8dd71714fe0a30eeb2906bdc0108b3d2019337c
101 | Author: Thomas Köppe <tkoeppe@google.com>
102 | Date: Thu Dec 15 00:56:29 2022 +0000
103 |
104 | [alg.random.sample] Fix stable name following b9c584b887ce383919263dac4448bafa118d024d.
105 |
106 | This fix was not applied to the reinstatement of `sample` in
107 | e55344b539581ad161cf98aba21e045c0c2e69ce.
commit f638303d1a6e1180e208de883df229b84d1977e4
125 | Author: Thomas Köppe <tkoeppe@google.com>
126 | Date: Fri Dec 16 21:19:01 2022 +0000
127 |
128 | Turn Scope, References, and Terms and Definitions into clauses.
129 |
130 | This is a requirement of the ISO Drafting Directives that only
131 | came into effect after the LFTSv2 was published.
132 |
133 |
commit 6bb7019250c016a9103e7fa6e3feea6b259720c7
135 | Author: Thomas Köppe <tkoeppe@google.com>
136 | Date: Fri Dec 16 21:39:17 2022 +0000
137 |
138 | [scopeguard.exit] Reword note to avoid "might"
There has been one motion since the previous revision:
48 |
49 |
50 |
Kona 2019, LWG Motion 1:
51 | Move to apply the changes in
52 | P0052R10
53 | (Generic Scope Guard and RAII Wrapper for the Standard Library) to the
54 | Library Fundamentals 3 working paper.
55 |
56 |
57 | This paper has been applied with substantial editorial changes, for the following reason:
58 | The paper was written, and reviewed by LWG, to target the C++ IS working draft. However,
59 | following a decision by LEWG, the motion was to apply it to the Library Fundamentals TS
60 | instead. Since the TS is based on C++17, any wording that uses a new style of specification
61 | from the IS WD had to be “reverted” to the style used by C++17.
62 |
63 |
Specific editorial changes:
64 |
65 |
C++20-style Mandates/Expects/Contraints elements have been rephrased as
66 | Requires/Remarks, using standard phrasing such as “This function/constructor shall
67 | not participate in overload resolution unless”.
68 |
Edits to change the wording of the IS WD, [requirements] (with the purpose of allowing
69 | the destructor of scope_success to throw) have been replaced with new wording
70 | in [mods] that describe the edit. Additionally, the added permission for the paragraph
71 | “Remarks:” has been changed to “Throws:”, since
72 | the destructor in question does not actually have a “Remarks:” element,
73 | but only a “Throws:”.
74 |
The namespaces and header names have been changed to include “experimental”.
75 |
The requirements Cpp17{Destructible,MoveConstructible,CopyConstructible,MoveAssignable,CopyAssignable}
76 | have been changed to {Destructible,MoveConstructible,CopyConstructible,MoveAssignable,CopyAssignable}.
77 |
The placeholder class name has been changed from scope_guard
78 | to scope-guard, as per our usual convention for names that are not
79 | actual type names.
80 |
Stable labels have been changed; specifically, to avoid ambiguity with [intro.scope],
81 | and to shorten the word “unique_resource”.
82 |
To avoid hanging paragraphs, non-normative, introductory wording has been dropped
83 | (the proposed paragraph 1 of 7.5 and paragraph 1 of 7.5.1; paragraphs 2 and 3
84 | (with modifications) of 7.5.1 have been moved to 7.5.2.
85 |
The description “factory function” has been renamed to
86 | “unique_resource creation”, similar to existing facilities
87 | of this kind.
88 |
Introductory words “The class template” have been prepended to 7.5.2p1
89 | so as to not start a sentence with a piece of code.
90 |
The three separate constructor specifications for scope_exit,
91 | scope_fail, and scope_success have been merged into
92 | a single specification for the placeholder scope-guard,
93 | since they are largely analogous. Distinctions are called out by saying, “For
94 | scope_exit and scope_fail…”.
95 |
96 | The phrase “Throws: Nothing unless the initialization
97 | of exit_function throws” has been replaced with “Throws: Any
98 | exception thrown during the initialization of exit_function”, which
99 | we already use elsewhere and which seems more precise.
100 |
101 |
102 |
Editorial changes
103 |
104 |
All stable labels denoting synopses have been renamed to end in just “.syn”,
105 | not “.synop” or “.synopsis”, to follow the style of the IS.
106 | Moreover, a leading “header.” has been dropped from the stable labels
107 | of synopses.
commit 509df8fd4ff81f0ea5455b0d4a3fca974f4fe140
115 | Author: Thomas Köppe
116 | Date: Wed Mar 13 01:21:32 2019 +0000
117 |
118 | Harmonize stable labels for header synopses
119 |
120 | * change foo.syn{,op,opsis} to just foo.syn, like in the IS WD
121 | * change header.foo.syn to just foo.syn
122 |
123 |
commit 5db4c668f1a73b209e45f158aabd3b5c96958b13
125 | Author: Thomas Köppe
126 | Date: Wed Mar 13 01:07:51 2019 +0000
127 |
128 | P0052R10 Generic Scope Guard and RAII Wrapper for the Standard Library
There have not been any motions to modify the working draft since the previous revision;
81 | this revision has only seen editorial changes. Notably, the draft has been brought in line
82 | with ISO's requirement to avoid hanging paragraphs. See the commit history below for details.
commit 6e3a227ad10310156be817b5e179eea36730e5ce
115 | Author: Thomas Köppe <tkoeppe@google.com>
116 | Date: Thu Jul 28 14:09:09 2022 +0100
117 |
118 | [func.wrap.func] Insert "overview" subclause.
119 |
120 | Also change "sub-clause" to "subclause" and reword the reference to
121 | "subclause [func.wrap.func] to match the new structure.
122 |
123 |
commit eeb2687de54147d2e5b982dd7f395956ff6b757e
125 | Author: A. Jiang <de34@live.cn>
126 | Date: Thu Jul 28 22:52:25 2022 +0800
127 |
128 | [mods.allocator.uses] Fix naming of std::pmr::memory_resource and xref
129 |
130 | The previous `std::experimental::pmr::memory_resource` feature has been adopted by C++17
131 | and is not part of the LFTS v3; `std::pmr::memory_resource` should be used instead.
132 |
133 | Also update the IS label index with the new lable "mem.res".
134 |
135 |
commit 88765065868b793c09762095b2250012970d40b2
137 | Author: Thomas Köppe <tkoeppe@google.com>
138 | Date: Thu Jul 28 16:05:49 2022 +0100
139 |
140 | [propagate_const] Restructure "requirements" subclauses.
141 |
142 | The new structure avoids hanging paragraphs in
143 | [propagate_const.requirements] and removes overly deep nesting.
144 |
145 |
commit 1535ed5bb65f2562bfe3e7fad50c8ce68f4f337b
147 | Author: Thomas Köppe <tkoeppe@google.com>
148 | Date: Thu Jul 28 16:52:08 2022 +0100
149 |
150 | [iterator.ostream.joiner] Move opening to new "Overview" subclause.
151 |
152 | This avoids hanging paragraphs in [iterator.ostream.joiner].
153 |
154 |
commit c154c2ebda6af63bf3ed43f28e56daddec668835
156 | Author: Thomas Köppe <tkoeppe@google.com>
157 | Date: Thu Jul 28 17:26:36 2022 +0100
158 |
159 | [memory.observer.ptr] Move opening paragraphs into Overview.
160 |
161 | This avoids hanging paragraphs, and the resulting structure works
162 | nicely. We also rename the major subclause from "Non-owning pointers"
163 | to "Non-owning (observer) pointers", since the observer_ptr is the
164 | only content of this subclause.
165 |
166 |
167 |
168 |
--------------------------------------------------------------------------------
/bower_components/polymer/layout.html:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/bower_components/cxx-html-doc-framework/README.md:
--------------------------------------------------------------------------------
1 | C++ HTML document framework
2 | ===========================
3 |
4 | This is a [Polymer](http://www.polymer-project.org/)-based HTML framework for
5 | writing ISO C++ documents and papers. To use it for your document, you should
6 |
7 | 1. [Install Bower.](http://bower.io/#installing-bower)
8 | 2. Install this package by running `bower install cplusplus/html-doc-framework` in the root directory of your document.
9 | 3. Import this package into your main HTML file by adding two lines inside the `` element:
10 |
11 | ```HTML
12 |
13 |
14 | ```
15 |
16 | 4. Run an HTTP server (e.g. [`python3 -m http.server`](https://docs.python.org/3/library/http.server.html#http-server-cli) or [`http-server`](https://www.npmjs.org/package/http-server)) in the directory of your main HTML file, and preview through that instead of a `file:///` URL.
17 |
18 | I recommend the [Prince rendering engine](http://www.princexml.com/) for converting your HTML file to PDF. It has significantly better support for page-related features than any browser as of 2014.
19 |
20 | Before I can accept a contribution to this project, you'll need to sign the
21 | Contributor License Agreement at https://developers.google.com/open-source/cla/individual.
22 |
23 | Custom C++-specific elements
24 | ----------------------------
25 |
26 | Some of these elements define a `checkInvariants()` method, so you can run:
27 |
28 | document.querySelectorAll('*').array().forEach(
29 | function(node){ if (node.checkInvariants) node.checkInvariants(); });
30 |
31 | to see if you've gotten anything wrong.
32 |
33 | ### ``
34 |
35 | This one isn't really C++-specific: it allows partitioning a main document
36 | into multiple pieces. `other.html`'s body will be copied in place of the
37 | `` element.
38 |
39 |
40 | ### `` and ``
41 |
42 | These automatically number clauses and sections, fill in
43 | table-of-contents data, and allow cross-linking. `` is for
44 | top-level sections, while `` can be nested arbitrarily.
45 | The title of the section is given in a nested `
` element.
46 | The `id` attribute is used for cross-linking.
47 |
48 | ### ``
49 |
50 | Wraps the title page of an ISO document. The title page takes a
51 | `stage` attribute whose value can be `draft` or (once I implement
52 | them) `CD`, `DTS`, `TS`, etc. The title page recognizes several
53 | nested elements that describe the document.
54 |
55 | #### ``
56 |
57 | The ISO project number for this TS or IS. Find this on https://isocpp.org/std/status.
58 |
59 | #### ``
60 |
61 | The D or N number for the document.
62 |
63 | #### `