├── bower_components ├── core-component-page │ ├── bowager-logo.png │ ├── bower.json │ ├── README.md │ ├── .bower.json │ ├── index.html │ └── demo.html ├── core-ajax │ ├── README.md │ ├── bower.json │ ├── test │ │ ├── index.html │ │ ├── core-ajax-race.html │ │ └── core-ajax-progress.html │ ├── .bower.json │ ├── index.html │ ├── metadata.html │ ├── demo.html │ ├── demo-progress.html │ └── core-xhr.html ├── webcomponentsjs │ ├── bower.json │ ├── .bower.json │ ├── package.json │ ├── build.log │ └── README.md ├── cxx-html-doc-framework │ ├── bower.json │ ├── email.html │ ├── range.html │ ├── .bower.json │ ├── term.html │ ├── cpp17concept.html │ ├── weak-break.html │ ├── ednote.html │ ├── foreign-index.js │ ├── foreign-index.html │ ├── definition-section.html │ ├── codeblock.html │ ├── publish.html │ ├── figure.html │ ├── note.html │ ├── example.html │ ├── footnote.html │ ├── include.js │ ├── framework.html │ ├── section.html │ ├── clause.html │ ├── toc.html │ ├── toc.js │ ├── definition-section.js │ ├── ref.html │ ├── grammar.html │ ├── ref.js │ ├── util │ │ └── get-element-by-id.html │ ├── foreword.html │ ├── section.js │ ├── titlepage.js │ ├── table.html │ ├── promise-0.1.1.min.js │ ├── function.html │ ├── base.css │ ├── README.md │ └── publish.js └── polymer │ ├── polymer.html │ ├── build.log │ ├── bower.json │ ├── .bower.json │ ├── README.md │ └── layout.html ├── .editorconfig ├── bower.json ├── tools ├── editing.el ├── import_latex.sed └── import.sed ├── cxx20_index.json ├── mods.html ├── main.html ├── README.md ├── numeric.html ├── algorithms.html ├── papers ├── n4787.html ├── n4909.html ├── n4841.html ├── n4874.html ├── n4927.html ├── n4938.html ├── n4807.html └── n4921.html ├── iterator.html └── func.html /bower_components/core-component-page/bowager-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cplusplus/fundamentals-ts/HEAD/bower_components/core-component-page/bowager-logo.png -------------------------------------------------------------------------------- /bower_components/core-ajax/README.md: -------------------------------------------------------------------------------- 1 | core-ajax 2 | ========= 3 | 4 | See the [component page](http://polymer-project.org/docs/elements/core-elements.html#core-ajax) for more information. 5 | -------------------------------------------------------------------------------- /bower_components/core-component-page/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "core-component-page", 3 | "private": true, 4 | "dependencies": { 5 | "webcomponentsjs": "Polymer/webcomponentsjs", 6 | "polymer": "Polymer/polymer#^0.5" 7 | }, 8 | "version": "0.5.6" 9 | } -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_style = space 8 | indent_size = 2 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | 12 | [*.json] 13 | indent_size = 4 14 | -------------------------------------------------------------------------------- /bower_components/core-ajax/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "core-ajax", 3 | "private": true, 4 | "dependencies": { 5 | "polymer": "Polymer/polymer#^0.5.0" 6 | }, 7 | "devDependencies": { 8 | "polymer-test-tools": "Polymer/polymer-test-tools#master" 9 | }, 10 | "version": "0.5.2" 11 | } -------------------------------------------------------------------------------- /bower_components/webcomponentsjs/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webcomponentsjs", 3 | "main": "webcomponents.js", 4 | "version": "0.5.5", 5 | "homepage": "http://webcomponents.org", 6 | "authors": [ 7 | "The Polymer Authors" 8 | ], 9 | "keywords": [ 10 | "webcomponents" 11 | ], 12 | "license": "BSD", 13 | "ignore": [] 14 | } -------------------------------------------------------------------------------- /bower_components/core-ajax/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cxx-fundamentals-ts", 3 | "version": "2.0.0", 4 | "homepage": "https://github.com/cplusplus/fundamentals-ts", 5 | "authors": [ 6 | "Jeffrey Yasskin " 7 | ], 8 | "description": "C++ Library Fundamentals TS", 9 | "main": "main.html", 10 | "ignore": [ 11 | "**/.*", 12 | "node_modules", 13 | "bower_components", 14 | "test", 15 | "tests" 16 | ], 17 | "dependencies": { 18 | "cxx-html-doc-framework": "cplusplus/html-doc-framework" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cxx-html-doc-framework", 3 | "description": "A set of custom HTML elements to make writing well-formatted C++ papers and ISO documents easier.", 4 | "main": "framework.html", 5 | "homepage": "https://github.com/cplusplus/html-doc-framework", 6 | "ignore": [ 7 | "**/.*", 8 | "bower_components", 9 | "test", 10 | "tests" 11 | ], 12 | "dependencies": { 13 | "polymer": "Polymer/polymer#0.5.2", 14 | "core-ajax": "Polymer/core-ajax#0.5.2" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /bower_components/core-component-page/README.md: -------------------------------------------------------------------------------- 1 | core-component-page 2 | =================== 3 | 4 | **This element is compatible with Polymer 0.5 and lower only, and will be deprecated.** 5 | You can check out a similar 0.8-compatible version of this element at [https://github.com/polymerelements/iron-components-page](https://github.com/polymerelements/iron-component-page) 6 | 7 | See the [component page](https://www.polymer-project.org/0.5/docs/elements/core-component-page.html) for more information. 8 | 9 | Note: this is the vulcanized version of [`core-component-page-dev`](https://github.com/Polymer/core-component-page-dev) (the source). 10 | -------------------------------------------------------------------------------- /bower_components/polymer/polymer.html: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /bower_components/core-ajax/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "core-ajax", 3 | "private": true, 4 | "dependencies": { 5 | "polymer": "Polymer/polymer#^0.5.0" 6 | }, 7 | "devDependencies": { 8 | "polymer-test-tools": "Polymer/polymer-test-tools#master" 9 | }, 10 | "version": "0.5.2", 11 | "homepage": "https://github.com/Polymer/core-ajax", 12 | "_release": "0.5.2", 13 | "_resolution": { 14 | "type": "version", 15 | "tag": "0.5.2", 16 | "commit": "3ef7992d54e89e290b813a463950d9d8953160a1" 17 | }, 18 | "_source": "git://github.com/Polymer/core-ajax.git", 19 | "_target": "0.5.2", 20 | "_originalSource": "Polymer/core-ajax" 21 | } -------------------------------------------------------------------------------- /bower_components/core-component-page/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "core-component-page", 3 | "private": true, 4 | "dependencies": { 5 | "webcomponentsjs": "Polymer/webcomponentsjs", 6 | "polymer": "Polymer/polymer#^0.5" 7 | }, 8 | "version": "0.5.6", 9 | "homepage": "https://github.com/Polymer/core-component-page", 10 | "_release": "0.5.6", 11 | "_resolution": { 12 | "type": "version", 13 | "tag": "0.5.6", 14 | "commit": "01a1d3968d7ece144783bcd03bc87b18344265e3" 15 | }, 16 | "_source": "git://github.com/Polymer/core-component-page.git", 17 | "_target": "^0.5.0", 18 | "_originalSource": "Polymer/core-component-page" 19 | } -------------------------------------------------------------------------------- /bower_components/webcomponentsjs/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webcomponentsjs", 3 | "main": "webcomponents.js", 4 | "version": "0.5.5", 5 | "homepage": "http://webcomponents.org", 6 | "authors": [ 7 | "The Polymer Authors" 8 | ], 9 | "keywords": [ 10 | "webcomponents" 11 | ], 12 | "license": "BSD", 13 | "ignore": [], 14 | "_release": "0.5.5", 15 | "_resolution": { 16 | "type": "version", 17 | "tag": "0.5.5", 18 | "commit": "46f8f2665f7b91e3f248bc9bdb20a29b91f921b5" 19 | }, 20 | "_source": "git://github.com/Polymer/webcomponentsjs.git", 21 | "_target": "^0.5.0", 22 | "_originalSource": "Polymer/webcomponentsjs" 23 | } -------------------------------------------------------------------------------- /tools/editing.el: -------------------------------------------------------------------------------- 1 | ;; -*- lexical-binding: t; -*- 2 | 3 | (defun surround-with-elem (tagname begin end) 4 | (interactive "*sEnter a tag name: \nr") 5 | (let ((end_marker (make-marker))) 6 | (set-marker end_marker end) 7 | (goto-char begin) 8 | (insert "<" tagname ">") 9 | (goto-char end_marker) 10 | (insert "") 11 | (set-marker end_marker nil) 12 | ) 13 | ) 14 | (defun bind-surround-with-elem (tagname) 15 | (lambda (begin end) 16 | (interactive "*r") 17 | (surround-with-elem tagname begin end))) 18 | (global-set-key (kbd "C-, C-c") (bind-surround-with-elem "code")) 19 | (global-set-key (kbd "C-, C-i") (bind-surround-with-elem "i")) 20 | (global-set-key (kbd "C-, C-v") (bind-surround-with-elem "var")) 21 | -------------------------------------------------------------------------------- /bower_components/polymer/build.log: -------------------------------------------------------------------------------- 1 | BUILD LOG 2 | --------- 3 | Build Time: 2014-12-11T12:46:30 4 | 5 | NODEJS INFORMATION 6 | ================== 7 | nodejs: v0.10.33 8 | grunt: 0.4.5 9 | grunt-audit: 1.0.0 10 | grunt-contrib-concat: 0.5.0 11 | grunt-contrib-copy: 0.7.0 12 | grunt-contrib-uglify: 0.6.0 13 | grunt-string-replace: 1.0.0 14 | 15 | REPO REVISIONS 16 | ============== 17 | polymer-expressions: 197c3a0150e7a13374cfcc72e7066113723a623d 18 | polymer-gestures: 17a6304916521be39409af292e8adf899bae0ce7 19 | polymer: a74e9f36526361dccb6df91be439ff9c3e043f41 20 | 21 | BUILD HASHES 22 | ============ 23 | dist/polymer.js: b9ad4c86af79c748cf4ea722f6d56671079fadf7 24 | dist/polymer.min.js: 2f2021ba9682b0bb702ee7fb68fb6fbfd288eac2 25 | dist/layout.html: 348d358a91712ecc2f8811efa430fcd954b4590c -------------------------------------------------------------------------------- /cxx20_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "allocator.requirements": "16.4.4.6", 3 | "class.ctor": "11.4.5", 4 | "dcl.init.aggr": "9.4.2", 5 | "dcl.init.list": "9.4.5", 6 | "expr": "7", 7 | "expr.call": "7.6.1.3", 8 | "func.wrap.func": "20.14.17.3", 9 | "function.objects": "20.14", 10 | "futures.promise": "32.9.6", 11 | "futures.task": "32.9.10", 12 | "library": "16", 13 | "mem.res": "20.12", 14 | "mem.res.class": "20.12.2", 15 | "meta.rqmts": "20.15.2", 16 | "over.match.best": "12.4.4", 17 | "rand.dist.uni.int": "26.6.9.2.1", 18 | "rand.predef": "26.6.6", 19 | "rand.req.genl": "26.6.3.1", 20 | "res.on.exception.handling": "16.4.6.13", 21 | "res.on.functions": "16.4.5.8", 22 | "swappable.requirements": "16.4.4.3", 23 | "unord.hash": "20.14.19" 24 | } 25 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/email.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /bower_components/polymer/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "polymer", 3 | "description": "Polymer is a new type of library for the web, built on top of Web Components, and designed to leverage the evolving web platform on modern browsers.", 4 | "homepage": "http://www.polymer-project.org/", 5 | "keywords": [ 6 | "util", 7 | "client", 8 | "browser", 9 | "web components", 10 | "web-components" 11 | ], 12 | "author": "Polymer Authors ", 13 | "private": true, 14 | "dependencies": { 15 | "core-component-page": "Polymer/core-component-page#^0.5.0", 16 | "webcomponentsjs": "Polymer/webcomponentsjs#^0.5.0" 17 | }, 18 | "devDependencies": { 19 | "tools": "Polymer/tools#master", 20 | "web-component-tester": "Polymer/web-component-tester#^1.4.2" 21 | }, 22 | "version": "0.5.2" 23 | } -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/range.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /bower_components/core-ajax/index.html: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /bower_components/core-component-page/index.html: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cxx-html-doc-framework", 3 | "description": "A set of custom HTML elements to make writing well-formatted C++ papers and ISO documents easier.", 4 | "main": "framework.html", 5 | "homepage": "https://github.com/cplusplus/html-doc-framework", 6 | "ignore": [ 7 | "**/.*", 8 | "bower_components", 9 | "test", 10 | "tests" 11 | ], 12 | "dependencies": { 13 | "polymer": "Polymer/polymer#0.5.2", 14 | "core-ajax": "Polymer/core-ajax#0.5.2" 15 | }, 16 | "version": "0.3.2", 17 | "_release": "0.3.2", 18 | "_resolution": { 19 | "type": "version", 20 | "tag": "0.3.2", 21 | "commit": "9604bb1ff78b2f33fbcbcb941ea0fbae2e65d943" 22 | }, 23 | "_source": "git://github.com/cplusplus/html-doc-framework.git", 24 | "_target": "*", 25 | "_originalSource": "cplusplus/html-doc-framework" 26 | } -------------------------------------------------------------------------------- /bower_components/webcomponentsjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webcomponents.js", 3 | "version": "0.5.5", 4 | "description": "webcomponents.js", 5 | "main": "webcomponents.js", 6 | "directories": { 7 | "test": "tests" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/webcomponents/webcomponentsjs.git" 12 | }, 13 | "author": "The Polymer Authors", 14 | "license": { 15 | "type": "BSD-3-Clause", 16 | "url": "http://polymer.github.io/LICENSE.txt" 17 | }, 18 | "bugs": { 19 | "url": "https://github.com/webcomponents/webcomponentsjs/issues" 20 | }, 21 | "homepage": "http://webcomponents.org", 22 | "devDependencies": { 23 | "gulp": "^3.8.8", 24 | "gulp-audit": "^1.0.0", 25 | "gulp-concat": "^2.4.1", 26 | "gulp-header": "^1.1.1", 27 | "gulp-uglify": "^1.0.1", 28 | "run-sequence": "^1.0.1", 29 | "web-component-tester": "*" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /bower_components/core-component-page/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/term.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 18 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/cpp17concept.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 18 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /bower_components/core-ajax/metadata.html: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/weak-break.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 19 | 20 | 21 | 25 | 26 | -------------------------------------------------------------------------------- /bower_components/webcomponentsjs/build.log: -------------------------------------------------------------------------------- 1 | BUILD LOG 2 | --------- 3 | Build Time: 2015-02-17T17:24:48-0800 4 | 5 | NODEJS INFORMATION 6 | ================== 7 | nodejs: v0.12.0 8 | gulp: 3.8.11 9 | gulp-audit: 1.0.0 10 | gulp-concat: 2.5.0 11 | gulp-header: 1.2.2 12 | gulp-uglify: 1.1.0 13 | run-sequence: 1.0.2 14 | web-component-tester: 2.2.3 15 | 16 | REPO REVISIONS 17 | ============== 18 | webcomponentsjs: 74b6b18443dd13e1cee184f688e23ae3930ed30c 19 | 20 | BUILD HASHES 21 | ============ 22 | CustomElements.js: 939c4b32847bf8085532995428001c3402f96cff 23 | CustomElements.min.js: cb3fd472ea0a9c45f5f03f86a6c5083f5077e907 24 | HTMLImports.js: 018bc32bc02bc6dc7dcacbd409438b26c31c2e6d 25 | HTMLImports.min.js: a3cb3e4ded3d708ba8333a8d5927ec93587fc191 26 | ShadowDOM.js: e34e8e3707d015a0ac9ec718d17b93c54500d028 27 | ShadowDOM.min.js: b3c2f09259d03ec44bd08ebbe9ed67dae3a06aaf 28 | webcomponents-lite.js: 83f6c69c9f38d6c88b1717427e713e57a96e7d70 29 | webcomponents-lite.min.js: d369074b523ff3806e7f71770a4d360f33331d48 30 | webcomponents.js: b91a9a8ae8c79bfc0275a766f3153f390ef74d81 31 | webcomponents.min.js: 91901c97731fc010ba5bb43624aa37d5320071c4 -------------------------------------------------------------------------------- /bower_components/polymer/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "polymer", 3 | "description": "Polymer is a new type of library for the web, built on top of Web Components, and designed to leverage the evolving web platform on modern browsers.", 4 | "homepage": "http://www.polymer-project.org/", 5 | "keywords": [ 6 | "util", 7 | "client", 8 | "browser", 9 | "web components", 10 | "web-components" 11 | ], 12 | "author": "Polymer Authors ", 13 | "private": true, 14 | "dependencies": { 15 | "core-component-page": "Polymer/core-component-page#^0.5.0", 16 | "webcomponentsjs": "Polymer/webcomponentsjs#^0.5.0" 17 | }, 18 | "devDependencies": { 19 | "tools": "Polymer/tools#master", 20 | "web-component-tester": "Polymer/web-component-tester#^1.4.2" 21 | }, 22 | "version": "0.5.2", 23 | "_release": "0.5.2", 24 | "_resolution": { 25 | "type": "version", 26 | "tag": "0.5.2", 27 | "commit": "2a9ca53fa79ca09907e818f1adf806765409ec9c" 28 | }, 29 | "_source": "git://github.com/Polymer/polymer.git", 30 | "_target": "0.5.2", 31 | "_originalSource": "Polymer/polymer" 32 | } -------------------------------------------------------------------------------- /tools/import_latex.sed: -------------------------------------------------------------------------------- 1 | s,\\pnum\\,\\, 2 | s,\\pnum\s*,

, 3 | 4 | /\\begin{itemdecl}/,/\\end{itemdecl}/ { 5 | s,\\begin{itemdecl},, 6 | //n 7 | /\\end{itemdecl}/ !{ 8 | s,.*,&, 9 | } 10 | } 11 | /\\end{itemdecl}/d 12 | /\\begin{itemdescr}/d 13 | s,\\end{itemdescr},, 14 | 15 | /\\indexlibrary/d 16 | 17 | s,\\effects\s*,, 18 | s,\\requires\s*,, 19 | s,\\synchronization\s*,, 20 | s,\\remark(s?)\s*,, 21 | s,\\throws\s*,, 22 | s,\\complexity\s*,, 23 | s,\\returns\s*,, 24 | s,\\exceptionsafety\s*,, 25 | s,\\postcondition(s?)\s*,, 26 | s,\\errorconditions\s*,, 27 | s,\\notes\s*,, 28 | 29 | s,\\tcode{\([^}]*\)},\1,g 30 | s,\\textit{\([^}]*\)},\1,g 31 | 32 | s,\\enternote\s*,, 33 | s,\s*\\exitnote,, 34 | s,\\enterexample\s*,, 35 | s,\s*\\exitexample,, 36 | 37 | s,\\begin{itemize},

    , 38 | s,\\end{itemize},
, 39 | s,\\item\s*,
  • , 40 | 41 | s,\\&,\&,g 42 | 43 | s,\s+$,, 44 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/ednote.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 30 | 31 | -------------------------------------------------------------------------------- /tools/import.sed: -------------------------------------------------------------------------------- 1 | s,\s+$,, 2 | s,\[\s*Note:\s*,, 3 | s,\s*(-|–|—)+\s*end\s*note\],, 4 | s,\[\s*Example:\s*,, 5 | s,\s*(-|–|—)+\s*end\s*example\],, 6 | 7 | s,(-\?-)?\s*(

    )?(|)?Effect(s?)(|)?:\s*(|)?\s*,, 8 | s,(-\?-)?\s*(

    )?(|)?Requires(|)?:\s*(|)?\s*,, 9 | s,(-\?-)?\s*(

    )?(|)?Synchronization(|)?:\s*(|)?\s*,, 10 | s,(-\?-)?\s*(

    )?(|)?Remark(s?)(|)?:\s*(|)?\s*,, 11 | s,(-\?-)?\s*(

    )?(|)?Throws(|)?:\s*(|)?\s*,, 12 | s,(-\?-)?\s*(

    )?(|)?Complexity(|)?:\s*(|)?\s*,, 13 | s,(-\?-)?\s*(

    )?(|)?Returns(|)?:\s*(|)?\s*,, 14 | s,(-\?-)?\s*(

    )?(|)?Precondition(s?)(|)?:\s*(|)?\s*,, 15 | s,(-\?-)?\s*(

    )?(|)?Post(-?)condition(s?)(|)?:\s*(|)?\s*,, 16 | s,(-\?-)?\s*(

    )?(|)?Error conditions(|)?:\s*(|)?\s*,, 17 | s,(-\?-)?\s*(

    )?(|)?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 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /bower_components/polymer/README.md: -------------------------------------------------------------------------------- 1 | # Polymer 2 | 3 | [![Polymer build status](http://www.polymer-project.org/build/polymer-dev/status.png "Polymer build status")](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 | [![Analytics](https://ga-beacon.appspot.com/UA-39334307-2/Polymer/polymer/README)](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 | 28 | 29 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/definition-section.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 21 | 22 | 32 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/codeblock.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 28 | 29 | 35 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/publish.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 25 | 26 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/figure.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 20 | 21 | 34 | 47 | 48 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/note.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 26 | 47 | 48 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/example.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 26 | 47 | 48 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/footnote.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 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 |

    36 |
    37 | 38 | -------------------------------------------------------------------------------- /main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 19568 11 | N???? 12 | 13 | N4948 14 | 15 | Thomas Köppe
    16 | Google DeepMind
    17 | tkoeppe@google.com 18 |
    19 |
    20 |

    C++ Extensions for Library Fundamentals, Version 3

    21 |

    Extensions C++ pour la bibliothèque fondamentaux, version 3

    22 |
    23 |
    24 | 25 | 26 | 27 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /bower_components/core-ajax/demo-progress.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Race condition 7 | 8 | 9 | 10 | 11 | 12 | 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 | 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 | 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 | 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 |

    Numerics library

    3 | 4 | 5 |

    Random number generation

    6 | 7 |

    Header <experimental/random> synopsis

    8 |
    #include <random>
     9 | 
    10 | namespace std::experimental::inline fundamentals_v3 {
    11 | 
    12 |   
    13 |   template <class IntType>
    14 |   IntType randint(IntType a, IntType b);
    15 |   void reseed();
    16 |   void reseed(default_random_engine::result_type value);
    17 | 
    18 | } // namespace std::experimental::inline fundamentals_v3
    19 |
    20 | 21 |

    Function template randint

    22 |

    A separate per-thread engine of type default_random_engine 23 | (), initialized to an 24 | unpredictable state, shall be maintained for each thread.

    25 | 26 | template<class IntType> 27 | IntType randint(IntType a, IntType b); 28 | 29 | The template argument meets the requirements for a template parameter named 30 | IntType in . 31 | 32 | ab. 33 | A random integer i, aib, 34 | produced from a thread-local instance of uniform_int_distribution<IntType> 35 | () invoked with the 36 | per-thread engine. 37 | 38 | 39 | void reseed(); 40 | void reseed(default_random_engine::result_type value); 41 | Let g be the per-thread engine. The first 42 | form sets g to an unpredictable state. The second form 43 | invokes g.seed(value). 44 | Subsequent calls to randint do not 45 | depend on values produced by g before calling reseed. 46 | reseed also resets any instances of uniform_int_distribution 47 | used by randint. 48 | 49 |
    50 |
    51 |
    52 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/grammar.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 26 | 27 | 33 | 34 | 35 | 38 | 39 | 45 | 46 | 47 | 48 | 52 | 53 | 59 | 60 | 61 | 64 | 65 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /bower_components/core-ajax/test/core-ajax-race.html: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | core-ajax 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 27 | 28 | 33 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /algorithms.html: -------------------------------------------------------------------------------- 1 | 2 |

    Algorithms library

    3 | 4 | 5 |

    Header <experimental/algorithm> synopsis

    6 | 7 |
    #include <algorithm>
     8 | 
     9 | namespace std::experimental::inline fundamentals_v3 {
    10 | 
    11 |   
    12 |   template<class PopulationIterator, class SampleIterator, class Distance>
    13 |   SampleIterator sample(PopulationIterator first, PopulationIterator last,
    14 |                         SampleIterator out, Distance n);
    15 | 
    16 |   
    17 |   template<class RandomAccessIterator>
    18 |   void shuffle(RandomAccessIterator first, RandomAccessIterator last);
    19 | 
    20 | } // namespace std::experimental::inline fundamentals_v3
    21 | 22 |
    23 | 24 | 25 |

    Sampling

    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 | [![Join the chat at https://gitter.im/webcomponents/webcomponentsjs](https://badges.gitter.im/Join%20Chat.svg)](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 | 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

    31 | 32 |
    33 |

    Date: 2018-11-13

    34 |
    Thomas Köppe, Editor (Google DeepMind) <tkoeppe@google.com>
    35 |
    36 | 37 |
      38 |
    • N4786 39 | is the current working draft. It revises 40 | N4758.
    • 41 |
    • N4787 42 | is this Editor’s Report.
    • 43 |
    44 | 45 |

    Change history and motions

    46 | 47 |

    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.

    66 | 67 |

    Commit history

    68 | 69 |

    From the draft sources on GitHub.

    70 | 71 |
    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 | 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 | 67 | 112 | 113 | -------------------------------------------------------------------------------- /papers/n4909.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | N4909 Editor's Report: C++ Library Fundamentals v3 TS 6 | 59 | 60 | 61 |

    N4909 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3

    62 | 63 |
    64 |

    Date: 2022-02-20

    65 |
    Thomas Köppe, Editor (Google DeepMind) <tkoeppe@google.com>
    66 |
    67 | 68 |

    New papers

    69 | 70 |
      71 |
    • N4908 72 | is the current working draft. It revises 73 | N4873.
    • 74 |
    • N4909 75 | is this Editor’s Report.
    • 76 |
    77 | 78 |

    Change history and motions

    79 | 80 |

    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.
    • 87 |
    88 |

    This motion has been applied.

    89 | 90 |

    Editorial changes

    91 | 92 |

    See the commit history below for details.

    93 | 94 |

    Commit history

    95 | 96 |

    From the draft sources on GitHub.

    97 | 98 |
    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

    31 | 32 |
    33 |

    Date: 2019-11-25

    34 |
    Thomas Köppe, Editor (Google DeepMind) <tkoeppe@google.com>
    35 |
    36 | 37 |
      38 |
    • N4840 39 | is the current working draft. It revises 40 | N4806.
    • 41 |
    • N4841 42 | is this Editor’s Report.
    • 43 |
    44 | 45 |

    Change history: only editorial changes

    46 | 47 |

    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.

    58 | 59 |

    Commit history

    60 | 61 |

    From the draft sources on GitHub.

    62 | 63 |
    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.
    119 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/function.html: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 30 | 31 | 32 | 36 | 37 | 38 | 48 | 63 | 64 | 65 | 70 | 71 | 72 | 77 | 78 | 79 | 80 | 85 | 86 | 87 | 92 | 93 | 94 | 99 | 100 | 101 | 106 | 107 | 108 | 113 | 114 | 115 | 120 | 121 | 122 | 127 | 128 | 129 | 134 | 135 | 136 | 141 | 142 | 143 | 148 | 149 | 150 | 155 | 156 | -------------------------------------------------------------------------------- /iterator.html: -------------------------------------------------------------------------------- 1 | 2 |

    Iterators library

    3 | 4 | 5 |

    Header <experimental/iterator> synopsis

    6 | 7 |
    #include <iterator>
      8 | 
      9 | namespace std::experimental::inline fundamentals_v3 {
     10 | 
     11 |   
     12 |   template <class DelimT, class charT = char, class traits = char_traits<charT>>
     13 |       class ostream_joiner;
     14 |   template <class charT, class traits, class DelimT>
     15 |     ostream_joiner<decay_t<DelimT>, charT, traits>
     16 |     make_ostream_joiner(basic_ostream<charT, traits>& os, DelimT&& delimiter);
     17 | 
     18 | } // namespace std::experimental::inline fundamentals_v3
    19 |
    20 | 21 | 22 |

    Class template ostream_joiner

    23 | 24 | 25 |

    Overview

    26 | 27 |

    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 |

    33 |
    while (first != last)
     34 |   *result++ = *first++;
    35 | 36 |

    37 | ostream_joiner is defined as 38 |

    39 |
    namespace std::experimental::inline fundamentals_v3 {
     40 | 
     41 |   template <class DelimT, class charT = char, class traits = char_traits<charT>>
     42 |   class ostream_joiner {
     43 |   public:
     44 |     using char_type = charT;
     45 |     using traits_type = traits;
     46 |     using ostream_type = basic_ostream<charT, traits>;
     47 |     using iterator_category = output_iterator_tag;
     48 |     using value_type = void;
     49 |     using difference_type = void;
     50 |     using pointer = void;
     51 |     using reference = void;
     52 | 
     53 |     ostream_joiner(ostream_type& s, const DelimT& delimiter);
     54 |     ostream_joiner(ostream_type& s, DelimT&& delimiter);
     55 |     template<typename T>
     56 |     ostream_joiner& operator=(const T& value);
     57 |     ostream_joiner& operator*() noexcept;
     58 |     ostream_joiner& operator++() noexcept;
     59 |     ostream_joiner& operator++(int) noexcept;
     60 | 
     61 |   private:
     62 |     ostream_type* out_stream; // exposition only
     63 |     DelimT delim;             // exposition only
     64 |     bool first_element;       // exposition only
     65 |   };
     66 | 
     67 | } // namespace std::experimental::inline fundamentals_v3
    68 |
    69 | 70 | 71 |

    Constructor

    72 | 73 | 74 | ostream_joiner(ostream_type& s, const DelimT& delimiter); 75 | 76 | 77 | Initializes out_stream with std::addressof(s), 78 | delim with delimiter, 79 | and first_element with true. 80 | 81 | 82 | 83 | 84 | ostream_joiner(ostream_type& s, DelimT&& delimiter); 85 | 86 | 87 | Initializes out_stream with std::addressof(s), 88 | delim with move(delimiter), 89 | and first_element with true. 90 | 91 | 92 |
    93 | 94 | 95 |

    Operations

    96 | 97 | 98 | template<typename T> 99 | ostream_joiner& operator=(const T& value); 100 | 101 | 102 |
    if (!first_element)
    103 |   *out_stream << delim;
    104 | first_element = false;
    105 | *out_stream << value;
    106 | return *this;
    107 |
    108 |
    109 | 110 | 111 | ostream_joiner& operator*() noexcept; 112 | 113 | *this. 114 | 115 | 116 | 117 | ostream_joiner& operator++() noexcept; 118 | ostream_joiner& operator++(int) noexcept; 119 | 120 | *this. 121 | 122 |
    123 | 124 | 125 |

    Creation function

    126 | 127 | 128 | template <class charT, class traits, class DelimT> 129 | ostream_joiner<decay_t<DelimT>, charT, traits> 130 | make_ostream_joiner(basic_ostream<charT, traits>& os, DelimT&& delimiter); 131 | 132 | ostream_joiner<decay_t<DelimT>, charT, traits>(os, forward<DelimT>(delimiter)); 133 | 134 |
    135 |
    136 |
    137 | -------------------------------------------------------------------------------- /papers/n4874.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | N4759 Editor's Report: C++ Library Fundamentals v3 TS 6 | 59 | 60 | 61 |

    N4874 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3

    62 | 63 |
    64 |

    Date: 2020-11-09

    65 |
    Thomas Köppe, Editor (Google DeepMind) <tkoeppe@google.com>
    66 |
    67 | 68 |

    New papers

    69 | 70 |
      71 |
    • N4873 72 | is the current working draft. It revises 73 | N4853.
    • 74 |
    • N4874 75 | is this Editor’s Report.
    • 76 |
    77 | 78 |

    Change history and motions

    79 | 80 |

    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.

    93 | 94 |

    Commit history

    95 | 96 |

    From the draft sources on GitHub.

    97 | 98 |
    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.
    139 | 140 | 141 | 142 | -------------------------------------------------------------------------------- /papers/n4927.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | N4927 Editor's Report: C++ Library Fundamentals v3 TS 6 | 59 | 60 | 61 |

    N4927 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3

    62 | 63 |
    64 |

    Date: 2022-11-16

    65 |
    Thomas Köppe, Editor (Google DeepMind) <tkoeppe@google.com>
    66 |
    67 | 68 |

    New papers

    69 | 70 |
      71 |
    • N4926 72 | is the current working draft. It revises 73 | N4920.
    • 74 |
    • N4927 75 | is this Editor’s Report.
    • 76 |
    77 | 78 |

    Change history and motions

    79 | 80 |

    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.

    97 | 98 |

    Commit history

    99 | 100 |

    From the draft sources on GitHub.

    101 | 102 |
    commit 9de74d5b6f444a3ffe5d1b32d58f7be046c60dd9 104 | Author: Jonathan Wakely <cxx@kayari.org> 105 | Date: Fri Sep 9 12:25:50 2022 +0100 106 | 107 | [propagate_const.comparison_function_objects] Add missing periods
    108 | 109 |
    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.
    126 | 127 | 128 | 129 | -------------------------------------------------------------------------------- /papers/n4938.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | N4927 Editor's Report: C++ Library Fundamentals v3 TS 6 | 59 | 60 | 61 |

    N4938 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3

    62 | 63 |
    64 |

    Date: 2022-12-15

    65 |
    Thomas Köppe, Editor (Google DeepMind) <tkoeppe@google.com>
    66 |
    67 | 68 |

    New papers

    69 | 70 |
      71 |
    • N4937 is the PDTS document.
    • 72 |
    • N4938 73 | is this Editor’s Report.
    • 74 |
    • 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 |

    87 | 88 |

    Commit history

    89 | 90 |

    From the draft sources on GitHub.

    91 | 92 |
    commit ba4a59885a1c1827f80bef0a512bd6e072a6373e 94 | Author: Thomas Köppe <tkoeppe@google.com> 95 | Date: Thu Nov 17 08:19:03 2022 +0000 96 | 97 | [func.wrap.func.overview] Remove extraneous semicolon
    98 | 99 |
    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.
    108 | 109 |
    commit 2cc7ce1845a0e40571c97dfb4ae352dd0b47ed81 111 | Author: Thomas Köppe <tkoeppe@google.com> 112 | Date: Thu Dec 15 01:06:29 2022 +0000 113 | 114 | [propagate_const] Fix duplicate stable lable, shorten headings
    115 | 116 |
    commit 18f1fd7c26930401a58855c3ceed12c65d8baaad 118 | Author: Thomas Köppe <tkoeppe@google.com> 119 | Date: Thu Dec 15 01:15:00 2022 +0000 120 | 121 | [func.wrap.func, iterator.ostream.joiner] Shorten headings
    122 | 123 |
    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"
    139 | 140 |
    commit 21673735b1262c5b41b2bdc892a62500c8995014 (origin/v3, v3) 142 | Author: Thomas Köppe <tkoeppe@google.com> 143 | Date: Fri Dec 16 22:22:11 2022 +0000 144 | 145 | [mods] Introduce "General" subclause to avoid hanging paragraphs
    146 | 147 | 148 | 149 | -------------------------------------------------------------------------------- /bower_components/cxx-html-doc-framework/base.css: -------------------------------------------------------------------------------- 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 | @page { 17 | margin: 10%; 18 | } 19 | @page :left { 20 | @top-left { content: string(docname); font-weight: bold; font-size: 10pt; } 21 | @top-right { content: normal; } 22 | @bottom-left { content: counter(page); font-size: 10pt; } 23 | @bottom-right { content: "© ISO/IEC " string(pubyear) " — All rights reserved"; 24 | font-size: 10pt; } 25 | } 26 | @page :right { 27 | @top-left { content: normal; } 28 | @top-right { content: string(docname); font-weight: bold; font-size: 10pt; } 29 | @bottom-left { content: "© ISO/IEC " string(pubyear) " — All rights reserved"; 30 | font-size: 10pt; } 31 | @bottom-right { content: counter(page); font-size: 10pt; } 32 | } 33 | @page front-matter :left { 34 | @bottom-left { content: counter(page, lower-roman); font-size: 10pt; } 35 | } 36 | @page front-matter :right { 37 | @bottom-right { content: counter(page, lower-roman); font-size: 10pt; } 38 | } 39 | @page first-technical { 40 | @top-left { 41 | content: "TECHNICAL SPECIFICATION"; 42 | font-weight: bold; font-size: 10pt; 43 | border-top: thick solid black; border-bottom: thick solid black; margin: 2.5em 0; 44 | } 45 | @top-right { 46 | content: "ISO/IEC TS 19568:" string(pubyear) "(E)"; 47 | font-weight: bold; font-size: 10pt; 48 | border-top: thick solid black; border-bottom: thick solid black; margin: 2.5em 0; 49 | } 50 | } 51 | @page :first { 52 | @top-left { content: normal; } 53 | @top-right { content: normal; } 54 | @bottom-left { content: normal; } 55 | @bottom-right { content: normal; } 56 | } 57 | 58 | body { margin: 0; } 59 | 60 | .firsttech { 61 | page: first-technical; 62 | font-weight: bold; 63 | font-size: 12pt; 64 | line-height: 150%; 65 | page-break-before: always; 66 | counter-reset: page 1; 67 | margin-bottom: 6em; 68 | } 69 | 70 | .firsttech + cxx-clause { 71 | page: first-technical; 72 | page-break-before: avoid; 73 | } 74 | 75 | @media screen { 76 | body { max-width: 7in; 77 | /* Make room for paragraph numbers. */ 78 | margin-left: 2em } 79 | } 80 | 81 | @media print { 82 | html { font-size: 10pt; } 83 | * /deep/ code { font-size: 80%; } 84 | /* Note that only Prince generates clickable links. */ 85 | * /deep/ a[href] { text-decoration:none; } 86 | } 87 | 88 | @media screen { 89 | /* Needed to make the 's vertical spacing work. 90 | For print see the definition. */ 91 | html, body {height: 100%} 92 | } 93 | 94 | * /deep/ .docname { string-set: docname content(); } 95 | * /deep/ .pubyear { string-set: pubyear content(); } 96 | 97 | cxx-clause, cxx-foreword { page-break-before: always; } 98 | @media screen { 99 | cxx-clause, cxx-toc, cxx-foreword { margin-top: 3em; } 100 | } 101 | 102 | cxx-clause::shadow header, cxx-foreword::shadow h1 { font-size: 150%; } 103 | cxx-toc::shadow h1 { font-size: 150%; } 104 | cxx-clause cxx-section::shadow header { font-size: 117%; } 105 | cxx-clause cxx-section cxx-section::shadow header { font-size: 100%; } 106 | 107 | [data-bookmark-label] { bookmark-label: attr(data-bookmark-label); } 108 | h1 { bookmark-level: 1; } 109 | cxx-toc::shadow h1 { bookmark-level: 2; } 110 | cxx-clause h1, cxx-foreword h1 { bookmark-level: 2; } 111 | cxx-clause cxx-section h1 { bookmark-level: 3; } 112 | cxx-clause cxx-section cxx-section h1 { bookmark-level: 4; } 113 | /* The

    is a subtitle, which shouldn't get a PDF bookmark. */ 114 | cxx-titlepage::shadow h2 { bookmark-level: none; } 115 | 116 | *::shadow .section-number { string-set: current-section "§ " content(); } 117 | 118 | p {margin-top: .5em; margin-bottom: .5em} 119 | p:first-child, ul, ol {margin-top: 0} 120 | 121 | [para_num]::before { content: attr(para_num); float: left; 122 | font-size: 70%; margin-left: -2.5em; width: 1.5em; text-align: right; } 123 | 124 | del {text-decoration: line-through; color: #8B0040;} 125 | ins {text-decoration: underline; color: #005100;} 126 | 127 | pre { 128 | margin-left: 1em; 129 | margin-top: .5em; 130 | margin-bottom: .5em; 131 | } 132 | 133 | * /deep/ wbr::after { 134 | white-space: normal; 135 | content: '\200B'; 136 | } 137 | * /deep/ code { 138 | /* Make inline code avoid line wraps unless we override it with . */ 139 | white-space: nowrap; 140 | } 141 | * /deep/ pre code { 142 | /* Keep block-code wrapping according to its context. */ 143 | white-space: inherit; 144 | } 145 | 146 | * /deep/ table { 147 | border-collapse: collapse; 148 | } 149 | * /deep/ td, th { 150 | padding-left: .2em; 151 | padding-right: .2em; 152 | border: thin solid black; 153 | } 154 | 155 | /* Use an em-dash for the list bullet. 156 | 'print' is a proxy for supporting ::marker. */ 157 | @media screen { 158 | ul { 159 | list-style: none; 160 | /* Relative positioning on the 'ul' lets the absolutely-positioned 161 | marker align relative to it.*/ 162 | position: relative; 163 | } 164 | ul li:before { 165 | content: "\2014"; 166 | position: absolute; left: 10px; 167 | } 168 | } 169 | @media print { 170 | ul li::marker { 171 | content: "\2014"; 172 | } 173 | [is=cxx-table].list ul li::marker { 174 | content: none; 175 | } 176 | } 177 | 178 | /* This is here rather than inside elements/toc.html because browsers 179 | don't understand leader() or target-counter(), so they drop them 180 | inside the CSSOM. */ 181 | @media print { 182 | /* Generate page numbers in the table of contents. */ 183 | cxx-toc::shadow a[href]::after { content: leader(" . ") target-counter(attr(href), page); } 184 | 185 | cxx-footnote::shadow aside { float: footnote; footnote-policy: line; } 186 | } 187 | -------------------------------------------------------------------------------- /papers/n4807.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | N4807 Editor's Report: C++ Library Fundamentals v3 TS 6 | 28 | 29 | 30 |

    N4807 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3

    31 | 32 |
    33 |

    Date: 2019-03-13

    34 |
    Thomas Köppe, Editor (Google DeepMind) <tkoeppe@google.com>
    35 |
    36 | 37 |
      38 |
    • N4806 39 | is the current working draft. It revises 40 | N4786.
    • 41 |
    • N4807 42 | is this Editor’s Report.
    • 43 |
    44 | 45 |

    Change history and motions

    46 | 47 |

    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.

    108 | 109 |

    Commit history

    110 | 111 |

    From the draft sources on GitHub.

    112 | 113 |
    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
    129 | 130 | 131 | 132 | -------------------------------------------------------------------------------- /papers/n4921.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | N4921 Editor's Report: C++ Library Fundamentals v3 TS 6 | 59 | 60 | 61 |

    N4921 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3

    62 | 63 |
    64 |

    Date: 2022-08-15

    65 |
    Thomas Köppe, Editor (Google DeepMind) <tkoeppe@google.com>
    66 |
    67 | 68 |

    New papers

    69 | 70 |
      71 |
    • N4920 72 | is the current working draft. It revises 73 | N4908.
    • 74 |
    • N4921 75 | is this Editor’s Report.
    • 76 |
    77 | 78 |

    Change history and (no) motions

    79 | 80 |

    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.

    83 | 84 |

    Commit history

    85 | 86 |

    From the draft sources on GitHub.

    87 | 88 |
    commit c9567ae8c4a0ba664fc270263c74534f466db95a 90 | Author: Thomas Köppe <tkoeppe@google.com> 91 | Date: Fri Jul 8 13:34:33 2022 +0100 92 | 93 | [scopeguard.uniqueres.assign] Add missing "Returns:" element. 94 | 95 | A "Returns: *this" element is clearly intended here, but was missing in the original proposal P0052R10.
    96 | 97 |
    commit ec7e2890bc56949c8e0ca5e2e7e26c0f38b81071 99 | Author: Thomas Köppe <tkoeppe@google.com> 100 | Date: Thu Jul 28 14:08:32 2022 +0100 101 | 102 | [futures.promise, futures.task] Change "sub-clause" to "subclause. 103 | 104 | Also remove reference to non-existent subclauses.
    105 | 106 |
    commit 6872490565d766e159bb7df6560882d0465e8233 108 | Author: Thomas Köppe <tkoeppe@google.com> 109 | Date: Thu Jul 28 14:09:50 2022 +0100 110 | 111 | [propagate_const, meta.trans.other] Change "sub-clause" to "subclause.
    112 | 113 |
    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 | #### `