├── .circleci ├── autocancel.sh └── config.yml ├── .gitattributes ├── .github └── workflows │ ├── ci.yml │ ├── commit-bot.yml │ └── release-cmake.yml ├── .gitignore ├── .gitmodules ├── .travis.yml ├── CMakeLists.txt ├── INSTALL ├── Jamroot ├── LICENSE_1_0.txt ├── README.md ├── appveyor.yml ├── boost-build.jam ├── boost.css ├── boost.png ├── boostcpp.jam ├── bootstrap.bat ├── bootstrap.sh ├── doc ├── Jamfile.v2 ├── html │ ├── Assignable.html │ ├── CopyConstructible.html │ ├── accumulators.html │ ├── any.html │ ├── array.html │ ├── atomic.html │ ├── bbv2.html │ ├── bbv2 │ │ └── installation.html │ ├── boost_asio.html │ ├── boost_lexical_cast.html │ ├── boost_random.html │ ├── boost_staticassert.html │ ├── boost_typeerasure.html │ ├── boostbook.html │ ├── chrono.html │ ├── circular_buffer.html │ ├── container.html │ ├── date_time.html │ ├── date_time │ │ ├── date_time_io.html │ │ ├── details.html │ │ └── local_time.html │ ├── foreach.html │ ├── function.html │ ├── hash.html │ ├── hash │ │ └── custom.html │ ├── heap.html │ ├── images │ │ ├── blank.png │ │ ├── caution.png │ │ ├── draft.png │ │ ├── home.png │ │ ├── important.png │ │ ├── next.png │ │ ├── next_disabled.png │ │ ├── note.png │ │ ├── prev.png │ │ ├── prev_disabled.png │ │ ├── tip.png │ │ ├── toc-blank.png │ │ ├── toc-minus.png │ │ ├── toc-plus.png │ │ ├── up.png │ │ ├── up_disabled.png │ │ └── warning.png │ ├── interprocess.html │ ├── intrusive.html │ ├── lambda.html │ ├── lockfree.html │ ├── move.html │ ├── mpi.html │ ├── program_options.html │ ├── property_tree.html │ ├── proto.html │ ├── quickbook.html │ ├── ratio.html │ ├── ref.html │ ├── signals.html │ ├── signals2.html │ ├── string_algo.html │ ├── thread.html │ ├── tribool.html │ ├── typeof.html │ ├── unordered.html │ ├── variant.html │ └── xpressive.html ├── images │ └── valid-html401.png ├── pdf │ ├── Jamfile.v2 │ └── build ├── src │ ├── boost.xml │ ├── boostbook.css │ ├── docutils.css │ ├── images │ │ ├── alert.png │ │ ├── blank.png │ │ ├── callouts │ │ │ ├── 1.png │ │ │ ├── 1.svg │ │ │ ├── 10.png │ │ │ ├── 10.svg │ │ │ ├── 11.png │ │ │ ├── 11.svg │ │ │ ├── 12.png │ │ │ ├── 12.svg │ │ │ ├── 13.png │ │ │ ├── 13.svg │ │ │ ├── 14.png │ │ │ ├── 14.svg │ │ │ ├── 15.png │ │ │ ├── 15.svg │ │ │ ├── 16.svg │ │ │ ├── 17.svg │ │ │ ├── 18.svg │ │ │ ├── 19.svg │ │ │ ├── 2.png │ │ │ ├── 2.svg │ │ │ ├── 20.svg │ │ │ ├── 21.svg │ │ │ ├── 22.svg │ │ │ ├── 23.svg │ │ │ ├── 24.svg │ │ │ ├── 25.svg │ │ │ ├── 26.svg │ │ │ ├── 27.svg │ │ │ ├── 28.svg │ │ │ ├── 29.svg │ │ │ ├── 3.png │ │ │ ├── 3.svg │ │ │ ├── 30.svg │ │ │ ├── 4.png │ │ │ ├── 4.svg │ │ │ ├── 5.png │ │ │ ├── 5.svg │ │ │ ├── 6.png │ │ │ ├── 6.svg │ │ │ ├── 7.png │ │ │ ├── 7.svg │ │ │ ├── 8.png │ │ │ ├── 8.svg │ │ │ ├── 9.png │ │ │ └── 9.svg │ │ ├── caution.png │ │ ├── caution.svg │ │ ├── draft.png │ │ ├── home.png │ │ ├── home.svg │ │ ├── important.png │ │ ├── important.svg │ │ ├── next.png │ │ ├── next.svg │ │ ├── next_disabled.png │ │ ├── note.png │ │ ├── note.svg │ │ ├── prev.png │ │ ├── prev.svg │ │ ├── prev_disabled.png │ │ ├── smiley.png │ │ ├── tip.png │ │ ├── tip.svg │ │ ├── toc-blank.png │ │ ├── toc-minus.png │ │ ├── toc-plus.png │ │ ├── up.png │ │ ├── up.svg │ │ ├── up_disabled.png │ │ ├── warning.png │ │ └── warning.svg │ ├── minimal.css │ └── reference.css └── test │ ├── HTML4_symbols.qbk │ ├── Jamfile.v2 │ ├── array.xml │ ├── array1.xml │ ├── array2.xml │ ├── array3.xml │ ├── array4.xml │ ├── gold │ ├── boost │ │ ├── accumulators │ │ │ ├── extract │ │ │ │ └── weighted_tail_quantile.html │ │ │ ├── impl │ │ │ │ └── weighted_tail_quantile__id330053.html │ │ │ └── tag │ │ │ │ └── weighted_tail_quantile.html │ │ └── array.html │ ├── document_to_test_formatting │ │ ├── accumulators.html │ │ ├── array.html │ │ ├── basic_formatting.html │ │ ├── blurbs.html │ │ ├── code_blocks.html │ │ ├── images.html │ │ ├── lists_and_tables.html │ │ ├── remez.html │ │ └── test.html │ ├── images │ │ ├── accumulators │ │ │ ├── doxygen.png │ │ │ ├── form_0.png │ │ │ ├── form_1.png │ │ │ ├── form_2.png │ │ │ ├── form_3.png │ │ │ ├── form_4.png │ │ │ ├── form_5.png │ │ │ ├── form_6.png │ │ │ ├── form_7.png │ │ │ └── form_8.png │ │ ├── beta_dist_kurtosis.png │ │ ├── digamma3.png │ │ ├── doctest.png │ │ ├── open_clipart_library_logo.svg │ │ ├── remez-2.png │ │ ├── remez-3.png │ │ ├── remez-4.png │ │ └── remez-5.png │ └── index.html │ ├── html │ └── images │ │ ├── beta_dist_kurtosis.png │ │ ├── digamma3.png │ │ ├── doctest.png │ │ ├── open_clipart_library_logo.svg │ │ ├── remez-2.png │ │ ├── remez-3.png │ │ ├── remez-4.png │ │ └── remez-5.png │ ├── remez.qbk │ ├── stub.cpp │ ├── test.mml │ ├── test.png │ ├── test.qbk │ ├── test.svg │ ├── test_HTML4_symbols.qbk │ └── weighted_tail_quantile.hpp ├── index.htm ├── index.html ├── libs ├── Jamfile.v2 ├── index.html ├── libraries.htm ├── maintainers.txt ├── numeric │ ├── doc │ │ └── build.jam │ ├── index.html │ └── sublibs └── platform_maintainers.txt ├── rst.css ├── status ├── Jamfile.v2 ├── boost-no-inspect ├── boost_check_library.py ├── expected_results.xml ├── explicit-failures-markup.xml └── explicit-failures.xsd └── tools ├── Jamfile.v2 ├── index.html └── make-cputime-page.pl /.circleci/autocancel.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Auto-cancel preceding workflows 4 | # https://discuss.circleci.com/t/workaround-auto-cancel-redundant-builds-on-the-default-branch/39468 5 | 6 | set -x 7 | 8 | ## Get the name of the workflow and the related pipeline number 9 | curl --header "Circle-Token: $PERS_API_TOKEN_BOOST_5" --request GET "https://circleci.com/api/v2/workflow/${CIRCLE_WORKFLOW_ID}" -o current_workflow.json 10 | WF_NAME=$(jq -r '.name' current_workflow.json) 11 | CURRENT_PIPELINE_NUM=$(jq -r '.pipeline_number' current_workflow.json) 12 | CURRENT_PIPELINE_CREATED=$(jq -r '.created_at' current_workflow.json) 13 | TIME_THRESHOLD=$(date --utc +'%Y-%m-%dT%TZ' -d "${CURRENT_PIPELINE_CREATED} -10 minutes") 14 | 15 | ## Get the IDs of pipelines created by the current user on the same branch. (Only consider pipelines that have a pipeline number inferior to the current pipeline) 16 | PIPE_IDS=$(curl --header "Circle-Token: $PERS_API_TOKEN_BOOST_5" --request GET "https://circleci.com/api/v2/project/gh/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/pipeline?branch=$CIRCLE_BRANCH"|jq -r --argjson CURRENT_PIPELINE_NUM "$CURRENT_PIPELINE_NUM" --arg TIME_THRESHOLD "${TIME_THRESHOLD}" '.items[] | select(.state == "created") | select(.number < $CURRENT_PIPELINE_NUM) | select(.created_at > $TIME_THRESHOLD) | .id') 17 | 18 | ## Get the IDs of currently running/on_hold workflows that have the same name as the current workflow, in all previously created pipelines. 19 | if [ ! -z "$PIPE_IDS" ]; then 20 | for PIPE_ID in $PIPE_IDS 21 | do 22 | curl --header "Circle-Token: $PERS_API_TOKEN_BOOST_5" --request GET "https://circleci.com/api/v2/pipeline/${PIPE_ID}/workflow"|jq -r --arg WF_NAME "${WF_NAME}" '.items[]|select(.status == "on_hold" or .status == "running") | select(.name == $WF_NAME) | .id' >> WF_to_cancel.txt 23 | done 24 | fi 25 | 26 | ## Cancel any currently running/on_hold workflow with the same name 27 | if [ -s WF_to_cancel.txt ]; then 28 | echo "Cancelling the following workflow(s):" 29 | cat WF_to_cancel.txt 30 | while read WF_ID; 31 | do 32 | curl --header "Circle-Token: $PERS_API_TOKEN_BOOST_5" --request POST https://circleci.com/api/v2/workflow/$WF_ID/cancel 33 | done < WF_to_cancel.txt 34 | ## Allowing some time to complete the cancellation 35 | sleep 2 36 | else 37 | echo "Nothing to cancel" 38 | fi 39 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2.1 2 | jobs: 3 | build: 4 | docker: 5 | - image: cppalliance/boost_superproject_build:24.04-v3 6 | parallelism: 2 7 | steps: 8 | - checkout 9 | - run: ./.circleci/autocancel.sh || true 10 | - run: wget "https://raw.githubusercontent.com/boostorg/release-tools/master/ci_boost_common.py" -P ${HOME} 11 | - run: wget "https://raw.githubusercontent.com/boostorg/release-tools/master/ci_boost_release.py" -P ${HOME} 12 | - run: python3 ${HOME}/ci_boost_release.py checkout_post 13 | # - run: python3 ${HOME}/ci_boost_release.py dependencies_override 14 | - run: '[ "$CIRCLE_NODE_INDEX" != "0" ] || EOL=LF python3 ${HOME}/ci_boost_release.py test_pre' 15 | - run: '[ "$CIRCLE_NODE_INDEX" != "1" ] || EOL=CRLF python3 ${HOME}/ci_boost_release.py test_pre' 16 | - run: '[ "$CIRCLE_NODE_INDEX" != "0" ] || EOL=LF python3 ${HOME}/ci_boost_release.py test_override' 17 | - run: '[ "$CIRCLE_NODE_INDEX" != "1" ] || EOL=CRLF python3 ${HOME}/ci_boost_release.py test_override' 18 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto !eol svneol=native#text/plain 2 | *.gitattributes text svneol=native#text/plain 3 | 4 | # Scriptish formats 5 | *.bat text svneol=native#text/plain 6 | *.bsh text svneol=native#text/x-beanshell 7 | *.cgi text svneol=native#text/plain 8 | *.cmd text svneol=native#text/plain 9 | *.js text svneol=native#text/javascript 10 | *.php text svneol=native#text/x-php 11 | *.pl text svneol=native#text/x-perl 12 | *.pm text svneol=native#text/x-perl 13 | *.py text svneol=native#text/x-python 14 | *.sh eol=lf svneol=LF#text/x-sh 15 | configure eol=lf svneol=LF#text/x-sh 16 | 17 | # Image formats 18 | *.bmp binary svneol=unset#image/bmp 19 | *.gif binary svneol=unset#image/gif 20 | *.ico binary svneol=unset#image/ico 21 | *.jpeg binary svneol=unset#image/jpeg 22 | *.jpg binary svneol=unset#image/jpeg 23 | *.png binary svneol=unset#image/png 24 | *.tif binary svneol=unset#image/tiff 25 | *.tiff binary svneol=unset#image/tiff 26 | *.svg text svneol=native#image/svg%2Bxml 27 | 28 | # Data formats 29 | *.pdf binary svneol=unset#application/pdf 30 | *.avi binary svneol=unset#video/avi 31 | *.doc binary svneol=unset#application/msword 32 | *.dsp text svneol=crlf#text/plain 33 | *.dsw text svneol=crlf#text/plain 34 | *.eps binary svneol=unset#application/postscript 35 | *.gz binary svneol=unset#application/gzip 36 | *.mov binary svneol=unset#video/quicktime 37 | *.mp3 binary svneol=unset#audio/mpeg 38 | *.ppt binary svneol=unset#application/vnd.ms-powerpoint 39 | *.ps binary svneol=unset#application/postscript 40 | *.psd binary svneol=unset#application/photoshop 41 | *.rdf binary svneol=unset#text/rdf 42 | *.rss text svneol=unset#text/xml 43 | *.rtf binary svneol=unset#text/rtf 44 | *.sln text svneol=native#text/plain 45 | *.swf binary svneol=unset#application/x-shockwave-flash 46 | *.tgz binary svneol=unset#application/gzip 47 | *.vcproj text svneol=native#text/xml 48 | *.vcxproj text svneol=native#text/xml 49 | *.vsprops text svneol=native#text/xml 50 | *.wav binary svneol=unset#audio/wav 51 | *.xls binary svneol=unset#application/vnd.ms-excel 52 | *.zip binary svneol=unset#application/zip 53 | 54 | # Text formats 55 | .htaccess text svneol=native#text/plain 56 | *.bbk text svneol=native#text/xml 57 | *.cmake text svneol=native#text/plain 58 | *.css text svneol=native#text/css 59 | *.dtd text svneol=native#text/xml 60 | *.htm text svneol=native#text/html 61 | *.html text svneol=native#text/html 62 | *.ini text svneol=native#text/plain 63 | *.log text svneol=native#text/plain 64 | *.mak text svneol=native#text/plain 65 | *.qbk text svneol=native#text/plain 66 | *.rst text svneol=native#text/plain 67 | *.sql text svneol=native#text/x-sql 68 | *.txt text svneol=native#text/plain 69 | *.xhtml text svneol=native#text/xhtml%2Bxml 70 | *.xml text svneol=native#text/xml 71 | *.xsd text svneol=native#text/xml 72 | *.xsl text svneol=native#text/xml 73 | *.xslt text svneol=native#text/xml 74 | *.xul text svneol=native#text/xul 75 | *.yml text svneol=native#text/plain 76 | boost-no-inspect text svneol=native#text/plain 77 | CHANGES text svneol=native#text/plain 78 | COPYING text svneol=native#text/plain 79 | INSTALL text svneol=native#text/plain 80 | Jamfile text svneol=native#text/plain 81 | Jamroot text svneol=native#text/plain 82 | Jamfile.v2 text svneol=native#text/plain 83 | Jamrules text svneol=native#text/plain 84 | Makefile* text svneol=native#text/plain 85 | README text svneol=native#text/plain 86 | TODO text svneol=native#text/plain 87 | 88 | # Code formats 89 | *.c text svneol=native#text/plain 90 | *.cpp text svneol=native#text/plain 91 | *.h text svneol=native#text/plain 92 | *.hpp text svneol=native#text/plain 93 | *.ipp text svneol=native#text/plain 94 | *.tpp text svneol=native#text/plain 95 | *.jam text svneol=native#text/plain 96 | *.java text svneol=native#text/plain 97 | -------------------------------------------------------------------------------- /.github/workflows/commit-bot.yml: -------------------------------------------------------------------------------- 1 | name: Commit Bot 2 | 3 | # Instructions 4 | # 5 | # - One-time setup: create a personal access token with permissions. Then configure it here 6 | # as secrets.CI_PAT. https://github.com/boostorg/boost/settings/secrets/actions 7 | # The reason is explained in https://github.com/orgs/community/discussions/25702 8 | # "If an action pushes code using the repository's GITHUB_TOKEN, a new workflow will not run" 9 | # 10 | # - Processing of either the 'master' or 'develop' branch may be stopped by creating the variables 11 | # vars.block_master or vars.block_develop with any value. 12 | # https://github.com/boostorg/boost/settings/variables/actions 13 | # 14 | 15 | # To avoid infinite loops, don't trigger on "push" 16 | on: 17 | schedule: 18 | - cron: "0,30 * * * *" 19 | 20 | concurrency: 21 | group: ${{format('commit-bot-{0}:{1}', github.repository, github.ref)}} 22 | cancel-in-progress: true 23 | 24 | jobs: 25 | update-modules: 26 | runs-on: ubuntu-latest 27 | name: Commit Bot 28 | if: github.repository == 'boostorg/boost' 29 | 30 | steps: 31 | - name: Check for module updates 32 | id: branches 33 | run: | 34 | set -xe 35 | branches="" 36 | if [[ "${{ github.event_name }}" == "push" ]]; then 37 | if [[ ! -n "${{ vars.block_master }}" && "${{ github.ref_name }}" == "master" ]]; then 38 | branches="master" 39 | elif [[ ! -n "${{ vars.block_develop }}" && "${{ github.ref_name }}" == "develop" ]]; then 40 | branches="develop" 41 | else 42 | branches="${{ github.ref_name }}" 43 | fi 44 | else 45 | # from a schedule: 46 | if [[ ! -n "${{ vars.block_master }}" ]]; then 47 | branches="master" 48 | fi 49 | if [[ ! -n "${{ vars.block_develop }}" ]]; then 50 | branches="${branches} develop" 51 | fi 52 | fi 53 | echo "branches=$branches" >> $GITHUB_OUTPUT 54 | 55 | - name: Checkout master repository 56 | uses: actions/checkout@v4 57 | if: contains(steps.branches.outputs.branches, 'master') 58 | with: 59 | ref: master 60 | path: master 61 | persist-credentials: false 62 | 63 | - name: Checkout develop repository 64 | uses: actions/checkout@v4 65 | if: contains(steps.branches.outputs.branches, 'develop') 66 | with: 67 | ref: develop 68 | path: develop 69 | persist-credentials: false 70 | 71 | - name: Check for module updates 72 | run: | 73 | branches="${{ steps.branches.outputs.branches }}" 74 | 75 | # Set up Git 76 | git config --global user.name "boost-commitbot" 77 | git config --global user.email "boost-commitbot@example.com" 78 | 79 | # Update each branch 80 | for branch in $branches; do 81 | cd $branch 82 | module_paths=$(git config --file .gitmodules --get-regexp '^submodule\..*\.path$') 83 | while IFS=' ' read -r key path; do 84 | submodule_name=$(echo "$key" | awk -F '.' '{print $2}') 85 | submodule_path=$(echo "$path") 86 | url=$(git config --file .gitmodules --get-regexp "^submodule\.$submodule_name\.url$" | awk '{print $2}') 87 | if [[ ! "$url" =~ ^https:// ]]; then 88 | basicreponame=$(basename $url) 89 | url=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY_OWNER}/${basicreponame} 90 | fi 91 | hash=$(git ls-remote "$url" "refs/heads/$branch" | cut -f 1) 92 | hash="${hash#"${hash%%[![:space:]]*}"}" 93 | hash="${hash%"${hash##*[![:space:]]}"}" 94 | commit_id="${hash:0:8}" 95 | previous_hash=$(git ls-tree HEAD "$submodule_path" | awk '{print $3}') 96 | previous_hash="${previous_hash#"${previous_hash%%[![:space:]]*}"}" 97 | previous_hash="${previous_hash%"${previous_hash##*[![:space:]]}"}" 98 | previous_commit_id="${previous_hash:0:8}" 99 | if [ "$hash" == "$previous_hash" ]; then 100 | echo "$submodule_name ($commit_id): OK" 101 | else 102 | echo "$submodule_name: $previous_commit_id -> $commit_id" 103 | set -x 104 | set +e 105 | git submodule update --init "$submodule_path" 106 | git submodule update --remote "$submodule_path" 107 | git add "$submodule_path" 108 | git commit -m "Update $submodule_name from $branch" 109 | set -e 110 | set +x 111 | fi 112 | done <<< "$module_paths" 113 | cd .. 114 | done 115 | 116 | - name: Push changes from master 117 | uses: ad-m/github-push-action@v0.8.0 118 | if: contains(steps.branches.outputs.branches, 'master') 119 | with: 120 | # github_token: ${{ secrets.GITHUB_TOKEN }} 121 | github_token: ${{ secrets.CI_PAT }} 122 | branch: master 123 | directory: master 124 | 125 | - name: Push changes from develop 126 | uses: ad-m/github-push-action@v0.8.0 127 | if: contains(steps.branches.outputs.branches, 'develop') 128 | with: 129 | # github_token: ${{ secrets.GITHUB_TOKEN }} 130 | github_token: ${{ secrets.CI_PAT }} 131 | branch: develop 132 | directory: develop 133 | -------------------------------------------------------------------------------- /.github/workflows/release-cmake.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | tags: 6 | - boost-* 7 | 8 | jobs: 9 | release-posix-cmake: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - uses: actions/checkout@v4 14 | with: 15 | path: ${{ github.ref_name }} 16 | submodules: true 17 | 18 | - name: Cleanup 19 | shell: bash 20 | run: | 21 | find ${{ github.ref_name }} -name ".git" -prune -exec rm -rf {} + 22 | 23 | - name: Create archives 24 | run: | 25 | tar -czf ${{ github.ref_name }}-cmake.tar.gz ${{ github.ref_name }} 26 | sha256sum ${{ github.ref_name }}-cmake.tar.gz > ${{ github.ref_name }}-cmake.tar.gz.txt 27 | tar -cJf ${{ github.ref_name }}-cmake.tar.xz ${{ github.ref_name }} 28 | sha256sum ${{ github.ref_name }}-cmake.tar.xz > ${{ github.ref_name }}-cmake.tar.xz.txt 29 | 30 | - uses: softprops/action-gh-release@v2 31 | with: 32 | files: | 33 | ${{ github.ref_name }}-cmake.tar.gz 34 | ${{ github.ref_name }}-cmake.tar.gz.txt 35 | ${{ github.ref_name }}-cmake.tar.xz 36 | ${{ github.ref_name }}-cmake.tar.xz.txt 37 | 38 | release-windows-cmake: 39 | runs-on: windows-latest 40 | 41 | needs: release-posix-cmake 42 | 43 | steps: 44 | - uses: actions/checkout@v4 45 | with: 46 | path: ${{ github.ref_name }} 47 | submodules: true 48 | 49 | - name: Cleanup 50 | shell: bash 51 | run: | 52 | find ${{ github.ref_name }} -name ".git" -prune -exec rm -rf {} + 53 | 54 | - name: Create archives 55 | shell: cmd 56 | run: | 57 | 7z a ${{ github.ref_name }}-cmake.zip ${{ github.ref_name }} 58 | sha256sum ${{ github.ref_name }}-cmake.zip > ${{ github.ref_name }}-cmake.zip.txt 59 | 7z a ${{ github.ref_name }}-cmake.7z ${{ github.ref_name }} 60 | sha256sum ${{ github.ref_name }}-cmake.7z > ${{ github.ref_name }}-cmake.7z.txt 61 | 62 | - uses: softprops/action-gh-release@v2 63 | with: 64 | files: | 65 | ${{ github.ref_name }}-cmake.zip 66 | ${{ github.ref_name }}-cmake.zip.txt 67 | ${{ github.ref_name }}-cmake.7z 68 | ${{ github.ref_name }}-cmake.7z.txt 69 | 70 | release-posix-b2-nodocs: 71 | runs-on: ubuntu-latest 72 | 73 | needs: release-windows-cmake 74 | 75 | steps: 76 | - uses: actions/checkout@v4 77 | with: 78 | path: ${{ github.ref_name }} 79 | submodules: true 80 | 81 | - name: Cleanup 82 | shell: bash 83 | run: | 84 | find ${{ github.ref_name }} -name ".git" -prune -exec rm -rf {} + 85 | 86 | - name: Move headers, remove docs 87 | shell: bash 88 | run: | 89 | cd ${{ github.ref_name }} 90 | cp -r libs/*/include/boost libs/numeric/*/include/boost . 91 | rm -rf libs/*/include libs/numeric/*/include 92 | rm -rf libs/*/doc libs/numeric/*/doc 93 | rm -f CMakeLists.txt 94 | 95 | - name: Create archives 96 | run: | 97 | tar -czf ${{ github.ref_name }}-b2-nodocs.tar.gz ${{ github.ref_name }} 98 | sha256sum ${{ github.ref_name }}-b2-nodocs.tar.gz > ${{ github.ref_name }}-b2-nodocs.tar.gz.txt 99 | tar -cJf ${{ github.ref_name }}-b2-nodocs.tar.xz ${{ github.ref_name }} 100 | sha256sum ${{ github.ref_name }}-b2-nodocs.tar.xz > ${{ github.ref_name }}-b2-nodocs.tar.xz.txt 101 | 102 | - uses: softprops/action-gh-release@v2 103 | with: 104 | files: | 105 | ${{ github.ref_name }}-b2-nodocs.tar.gz 106 | ${{ github.ref_name }}-b2-nodocs.tar.gz.txt 107 | ${{ github.ref_name }}-b2-nodocs.tar.xz 108 | ${{ github.ref_name }}-b2-nodocs.tar.xz.txt 109 | 110 | release-windows-b2-nodocs: 111 | runs-on: windows-latest 112 | 113 | needs: release-posix-b2-nodocs 114 | 115 | steps: 116 | - uses: actions/checkout@v4 117 | with: 118 | path: ${{ github.ref_name }} 119 | submodules: true 120 | 121 | - name: Cleanup 122 | shell: bash 123 | run: | 124 | find ${{ github.ref_name }} -name ".git" -prune -exec rm -rf {} + 125 | 126 | - name: Move headers, remove docs 127 | shell: bash 128 | run: | 129 | cd ${{ github.ref_name }} 130 | cp -r libs/*/include/boost libs/numeric/*/include/boost . 131 | rm -rf libs/*/include libs/numeric/*/include 132 | rm -rf libs/*/doc libs/numeric/*/doc 133 | rm -f CMakeLists.txt 134 | 135 | - name: Create archives 136 | shell: cmd 137 | run: | 138 | 7z a ${{ github.ref_name }}-b2-nodocs.zip ${{ github.ref_name }} 139 | sha256sum ${{ github.ref_name }}-b2-nodocs.zip > ${{ github.ref_name }}-b2-nodocs.zip.txt 140 | 7z a ${{ github.ref_name }}-b2-nodocs.7z ${{ github.ref_name }} 141 | sha256sum ${{ github.ref_name }}-b2-nodocs.7z > ${{ github.ref_name }}-b2-nodocs.7z.txt 142 | 143 | - uses: softprops/action-gh-release@v2 144 | with: 145 | files: | 146 | ${{ github.ref_name }}-b2-nodocs.zip 147 | ${{ github.ref_name }}-b2-nodocs.zip.txt 148 | ${{ github.ref_name }}-b2-nodocs.7z 149 | ${{ github.ref_name }}-b2-nodocs.7z.txt 150 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /b2 2 | /b2.exe 3 | /bin.v2 4 | /bjam 5 | /bjam.exe 6 | /bootstrap.log 7 | /boost 8 | /dist 9 | /project-config.jam* 10 | /stage 11 | /stage_x64/ 12 | /user-config.jam 13 | /.settings/ 14 | /.project 15 | /.pydevproject 16 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # Use, modification, and distribution are 2 | # subject to the Boost Software License, Version 1.0. (See accompanying 3 | # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 | # 5 | # Copyright Rene Rivera 2015-2016. 6 | # Copyright Peter Dimov 2017-2021. 7 | 8 | branches: 9 | only: 10 | - master 11 | - develop 12 | - /feature\/.*/ 13 | 14 | dist: bionic 15 | 16 | language: cpp 17 | 18 | compiler: gcc 19 | 20 | git: 21 | submodules: false 22 | 23 | env: 24 | matrix: 25 | - TRAVIS_EMPTY_JOB_WORKAROUND=true 26 | 27 | matrix: 28 | exclude: 29 | - env: TRAVIS_EMPTY_JOB_WORKAROUND=true 30 | 31 | include: 32 | 33 | - env: SCRIPT=ci_boost_release MODE=check 34 | addons: 35 | apt: 36 | packages: 37 | - xsltproc 38 | 39 | # Simple integrated status tests check. 40 | - env: SCRIPT=ci_boost_status 41 | 42 | # Same, but using release layout 43 | - env: SCRIPT=ci_boost_status RELEASE=1 44 | 45 | # Run 'quick' tests. 46 | - env: SCRIPT=ci_boost_status TARGET=quick TOOLSET=gcc CXXSTD=03,11,14 47 | compiler: g++ 48 | 49 | - env: SCRIPT=ci_boost_status TARGET=quick TOOLSET=clang CXXSTD=03,11,14 50 | compiler: clang++ 51 | 52 | # Build Boost 53 | - env: SCRIPT=ci_boost_build TOOLSET=gcc 54 | compiler: g++ 55 | 56 | # Build Boost with release layout 57 | - env: SCRIPT=ci_boost_build TOOLSET=gcc RELEASE=1 58 | compiler: g++ 59 | 60 | # Build Boost with CMake 61 | - env: CMAKE_BUILD=1 62 | dist: xenial 63 | compiler: g++ 64 | 65 | before_script: true 66 | before_install: true 67 | after_success: true 68 | after_failure: true 69 | after_script: true 70 | 71 | addons: 72 | apt: 73 | packages: 74 | - libzstd-dev 75 | 76 | install: 77 | - git submodule update --init --jobs 3 78 | 79 | script: 80 | - mkdir __build && cd __build 81 | - cmake -DBOOST_INSTALL_LAYOUT=tagged -DBUILD_SHARED_LIBS=ON .. 82 | - cmake --build . 83 | 84 | # Install Boost with CMake 85 | - env: CMAKE_INSTALL=1 86 | compiler: g++ 87 | 88 | before_script: true 89 | before_install: true 90 | after_success: true 91 | after_failure: true 92 | after_script: true 93 | 94 | install: 95 | - pip install --user cmake 96 | - git submodule update --init --jobs 3 97 | 98 | script: 99 | - mkdir __build && cd __build 100 | - cmake -DBOOST_INSTALL_LAYOUT=tagged -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=~/.local .. 101 | - cmake --build . 102 | - cmake --build . --target install 103 | 104 | # Test Boost with CMake 105 | - env: CMAKE_TEST=1 106 | dist: bionic 107 | compiler: g++ 108 | 109 | before_script: true 110 | before_install: true 111 | after_success: true 112 | after_failure: true 113 | after_script: true 114 | 115 | addons: 116 | apt: 117 | packages: 118 | - liblzma-dev 119 | - libzstd-dev 120 | 121 | install: 122 | - git submodule update --init --jobs 3 123 | 124 | script: 125 | - mkdir __build && cd __build 126 | - cmake -DBUILD_TESTING=ON .. 127 | - cmake --build . -j 3 128 | - cmake --build . --target tests -j 3 -- -k 129 | - ctest --output-on-failure -j 3 -R quick 130 | 131 | before_install: 132 | # Fetch the scripts to do the actual building/testing. 133 | - git submodule update --init --jobs 3 134 | - | 135 | wget "https://raw.githubusercontent.com/boostorg/release-tools/develop/ci_boost_common.py" -P .. 136 | wget "https://raw.githubusercontent.com/boostorg/release-tools/develop/${SCRIPT}.py" -P .. 137 | 138 | install: python "${TRAVIS_BUILD_DIR}/../${SCRIPT}.py" install 139 | before_script: python "${TRAVIS_BUILD_DIR}/../${SCRIPT}.py" before_script 140 | script: python "${TRAVIS_BUILD_DIR}/../${SCRIPT}.py" script 141 | after_success: python "${TRAVIS_BUILD_DIR}/../${SCRIPT}.py" after_success 142 | after_failure: python "${TRAVIS_BUILD_DIR}/../${SCRIPT}.py" after_failure 143 | after_script: python "${TRAVIS_BUILD_DIR}/../${SCRIPT}.py" after_script 144 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2019, 2021 Peter Dimov 2 | # Distributed under the Boost Software License, Version 1.0. 3 | # See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt 4 | 5 | cmake_minimum_required(VERSION 3.5...3.16) 6 | 7 | # The default build type must be set before project() 8 | if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR AND NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) 9 | set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE) 10 | set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") 11 | endif() 12 | 13 | project(Boost VERSION 1.89.0 LANGUAGES CXX) 14 | 15 | set(BOOST_SUPERPROJECT_VERSION ${PROJECT_VERSION}) 16 | set(BOOST_SUPERPROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR}) 17 | 18 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/tools/cmake/include) 19 | 20 | include(BoostRoot) 21 | -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | See ./index.html for information about this release. The "Getting Started" 2 | section is a useful starting place. 3 | 4 | --------------------------- 5 | Copyright Beman Dawes, 2008 6 | 7 | Distributed under the Boost Software License, Version 1.0. 8 | See ./LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt -------------------------------------------------------------------------------- /LICENSE_1_0.txt: -------------------------------------------------------------------------------- 1 | Boost Software License - Version 1.0 - August 17th, 2003 2 | 3 | Permission is hereby granted, free of charge, to any person or organization 4 | obtaining a copy of the software and accompanying documentation covered by 5 | this license (the "Software") to use, reproduce, display, distribute, 6 | execute, and transmit the Software, and to prepare derivative works of the 7 | Software, and to permit third-parties to whom the Software is furnished to 8 | do so, all subject to the following: 9 | 10 | The copyright notices in the Software and this entire statement, including 11 | the above license grant, this restriction and the following disclaimer, 12 | must be included in all copies of the Software, in whole or in part, and 13 | all derivative works of the Software, unless such copies or derivative 14 | works are solely in the form of machine-executable object code generated by 15 | a source language processor. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 20 | SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 21 | FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 22 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Boost C++ Libraries 2 | 3 | The Boost project provides free peer-reviewed portable C++ source libraries. 4 | 5 | We emphasize libraries that work well with the C++ Standard Library. Boost 6 | libraries are intended to be widely useful, and usable across a broad spectrum 7 | of applications. The Boost license encourages both commercial and non-commercial use 8 | and does not require attribution for binary use. 9 | 10 | The project website is www.boost.org, where you can obtain more information and 11 | [download](https://www.boost.org/users/download/) the current release. 12 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 1.0.{build}-{branch} 2 | 3 | branches: 4 | only: 5 | - develop 6 | - master 7 | 8 | environment: 9 | matrix: 10 | - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 11 | SCRIPT: ci_boost_test_library 12 | - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 13 | SCRIPT: ci_boost_test_library 14 | - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 15 | SCRIPT: ci_boost_test_library 16 | - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 17 | SCRIPT: ci_boost_status 18 | TARGET: quick 19 | 20 | init: 21 | - cd %APPVEYOR_BUILD_FOLDER%/.. 22 | - appveyor DownloadFile "https://raw.githubusercontent.com/boostorg/release-tools/develop/ci_boost_common.py" 23 | - appveyor DownloadFile "https://raw.githubusercontent.com/boostorg/release-tools/develop/%SCRIPT%.py" 24 | - cd %APPVEYOR_BUILD_FOLDER% 25 | install: python ../%SCRIPT%.py install 26 | before_build: python ../%SCRIPT%.py before_build 27 | build_script: python ../%SCRIPT%.py build_script 28 | after_build: python ../%SCRIPT%.py after_build 29 | before_test: python ../%SCRIPT%.py before_test 30 | test_script: python ../%SCRIPT%.py test_script 31 | after_test: python ../%SCRIPT%.py after_test 32 | on_success: python ../%SCRIPT%.py on_success 33 | on_failure: python ../%SCRIPT%.py on_failure 34 | on_finish: python ../%SCRIPT%.py on_finish 35 | -------------------------------------------------------------------------------- /boost-build.jam: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2002-2003 David Abrahams. 2 | # Copyright (C) 2002-2003 Vladimir Prus. 3 | # Copyright (C) 2003,2007 Rene Rivera. 4 | # Use, modification and distribution are subject to the 5 | # Boost Software License, Version 1.0. (See accompanying file 6 | # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 | 8 | # This is the initial file loaded by Boost Jam when run from any Boost library 9 | # folder. It allows us to choose which Boost Build installation to use for 10 | # building Boost libraries. Unless explicitly selected using a command-line 11 | # option, the version included with the Boost library distribution is used (as 12 | # opposed to any other Boost Build version installed on the user's system). 13 | 14 | BOOST_ROOT = $(.boost-build-file:D) ; 15 | BOOST_BUILD = [ MATCH --boost-build=(.*) : $(ARGV) ] ; 16 | BOOST_BUILD ?= tools/build/src ; 17 | boost-build $(BOOST_BUILD) ; 18 | -------------------------------------------------------------------------------- /boost.css: -------------------------------------------------------------------------------- 1 | /*============================================================================= 2 | Copyright 2002 William E. Kempf 3 | Distributed under the Boost Software License, Version 1.0. (See accompany- 4 | ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | =============================================================================*/ 6 | 7 | H1 8 | { 9 | FONT-SIZE: 200%; 10 | COLOR: #00008B; 11 | } 12 | H2 13 | { 14 | FONT-SIZE: 150%; 15 | } 16 | H3 17 | { 18 | FONT-SIZE: 125%; 19 | } 20 | H4 21 | { 22 | FONT-SIZE: 108%; 23 | } 24 | BODY 25 | { 26 | FONT-SIZE: 100%; 27 | BACKGROUND-COLOR: #ffffff; 28 | COLOR: #000000; 29 | } 30 | PRE 31 | { 32 | MARGIN-LEFT: 2em; 33 | FONT-FAMILY: Courier, 34 | monospace; 35 | } 36 | CODE 37 | { 38 | FONT-FAMILY: Courier, 39 | monospace; 40 | } 41 | CODE.as_pre 42 | { 43 | white-space: pre; 44 | } 45 | .index 46 | { 47 | TEXT-ALIGN: left; 48 | } 49 | .page-index 50 | { 51 | TEXT-ALIGN: left; 52 | } 53 | .definition 54 | { 55 | TEXT-ALIGN: left; 56 | } 57 | .footnote 58 | { 59 | FONT-SIZE: 66%; 60 | VERTICAL-ALIGN: super; 61 | TEXT-DECORATION: none; 62 | } 63 | .function-semantics 64 | { 65 | CLEAR: left; 66 | } -------------------------------------------------------------------------------- /boost.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boostorg/boost/cbafdfeb4ef0eed86fa667b94ae50894f61a6bd5/boost.png -------------------------------------------------------------------------------- /bootstrap.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | SETLOCAL 4 | 5 | REM Copyright 2019-2020 Rene Rivera 6 | REM Copyright (C) 2009 Vladimir Prus 7 | REM 8 | REM Distributed under the Boost Software License, Version 1.0. 9 | REM (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 10 | 11 | ECHO Building Boost.Build engine 12 | if exist ".\tools\build\src\engine\b2.exe" del tools\build\src\engine\b2.exe 13 | pushd tools\build\src\engine 14 | 15 | call .\build.bat %* 16 | @ECHO OFF 17 | 18 | popd 19 | 20 | if exist ".\tools\build\src\engine\b2.exe" ( 21 | copy .\tools\build\src\engine\b2.exe . > nul 22 | goto :bjam_built) 23 | 24 | goto :bjam_failure 25 | 26 | :bjam_built 27 | 28 | REM Ideally, we should obtain the toolset that build.bat has 29 | REM guessed. However, it uses setlocal at the start and does not 30 | REM export BOOST_JAM_TOOLSET, and I don't know how to do that 31 | REM properly. Default to msvc if not specified. 32 | 33 | SET TOOLSET=msvc 34 | 35 | IF "%1"=="gcc" SET TOOLSET=gcc 36 | IF "%1"=="clang" SET TOOLSET=clang 37 | IF "%1"=="borland" SET TOOLSET=embarcadero 38 | IF "%1"=="vc71" SET TOOLSET=msvc : 7.1 39 | IF "%1"=="vc8" SET TOOLSET=msvc : 8.0 40 | IF "%1"=="vc9" SET TOOLSET=msvc : 9.0 41 | IF "%1"=="vc10" SET TOOLSET=msvc : 10.0 42 | IF "%1"=="vc11" SET TOOLSET=msvc : 11.0 43 | IF "%1"=="vc12" SET TOOLSET=msvc : 12.0 44 | IF "%1"=="vc14" SET TOOLSET=msvc : 14.0 45 | IF "%1"=="vc141" SET TOOLSET=msvc : 14.1 46 | IF "%1"=="vc142" SET TOOLSET=msvc : 14.2 47 | IF "%1"=="vc143" SET TOOLSET=msvc : 14.3 48 | 49 | ECHO. 50 | ECHO Generating Boost.Build configuration in project-config.jam for %TOOLSET%... 51 | ECHO # Boost.Build Configuration > project-config.jam 52 | ECHO # Automatically generated by bootstrap.bat >> project-config.jam 53 | ECHO. >> project-config.jam 54 | ECHO import option ; >> project-config.jam 55 | ECHO. >> project-config.jam 56 | ECHO using %TOOLSET% ; >> project-config.jam 57 | ECHO. >> project-config.jam 58 | ECHO option.set keep-going : false ; >> project-config.jam 59 | ECHO. >> project-config.jam 60 | 61 | ECHO. 62 | ECHO Bootstrapping is done. To build, run: 63 | ECHO. 64 | ECHO .\b2 65 | ECHO. 66 | 67 | IF EXIST libs\config\include ( 68 | ECHO. To generate header files, run: 69 | ECHO. 70 | ECHO. .\b2 headers 71 | ECHO. 72 | ) 73 | 74 | ECHO To adjust configuration, edit 'project-config.jam'. 75 | ECHO Further information: 76 | ECHO. 77 | ECHO - Command line help: 78 | ECHO .\b2 --help 79 | ECHO. 80 | ECHO - Getting started guide: 81 | ECHO http://boost.org/more/getting_started/windows.html 82 | ECHO. 83 | ECHO - Boost.Build documentation: 84 | ECHO http://www.boost.org/build/ 85 | ECHO. 86 | 87 | goto :end 88 | 89 | :bjam_failure 90 | 91 | ECHO. 92 | ECHO Failed to build Boost.Build engine. 93 | ECHO. 94 | 95 | REM Set an error code to allow `bootstrap && b2` 96 | cmd /c exit /b 1 > nul 97 | 98 | :end 99 | -------------------------------------------------------------------------------- /doc/html/Assignable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 9 |std::vector
. However,
15 | std::vector<>
provides
16 | the semantics of dynamic arrays. Thus, it manages data to be able
17 | to change the number of elements. This results in some overhead in
18 | case only arrays with static size are needed.block
. It is safer and has no worse performance than
24 | ordinary arrays. In c_array
, which I (carray
. This is the essence of these approaches
31 | spiced with many feedback from array
.array
fulfills most
42 | but not all of the requirements of "reversible containers" (see
43 | Section 23.1, [lib.container.requirements] of the C++
44 | Standard). The reasons array is not an reversible STL container is
45 | because:
46 | ![]() |
15 | Home | 16 |Libraries | 17 |People | 18 |FAQ | 19 |More | 20 |
boost::accumulators::extract::weighted_tail_quantile
30 |// In header: <doc/test/weighted_tail_quantile.hpp> 33 | 34 | extractor< tag::quantile > const weighted_tail_quantile;
38 | | 44 | |
![]() |
14 | Home | 15 |Libraries | 16 |People | 17 |FAQ | 18 |More | 19 |
boost::accumulators::tag::weighted_tail_quantile
29 |// In header: <doc/test/weighted_tail_quantile.hpp> 32 | 33 | template<typename LeftRight> 34 | struct weighted_tail_quantile : public boost::accumulators::depends_on< sum_of_weights, tail_weights< LeftRight > > 35 | { 36 | };
40 | | 46 | |
![]() |
15 | Home | 16 |Libraries | 17 |People | 18 |FAQ | 19 |More | 20 |
namespace boost { 39 | namespace accumulators { 40 | namespace extract { 41 | extractor< tag::quantile > const weighted_tail_quantile; 42 | } 43 | namespace impl { 44 | template<typename Sample, typename Weight, typename LeftRight> 45 | struct weighted_tail_quantile_impl; 46 | } 47 | namespace tag { 48 | template<typename LeftRight> struct weighted_tail_quantile; 49 | } 50 | } 51 | }52 |
57 | | 63 | |
![]() |
15 | Home | 16 |Libraries | 17 |People | 18 |FAQ | 19 |More | 20 |
30 | These are tricky enough that they warrant their own section. 31 |
32 |33 | Let's start with a PNG file that's set to 120dpi, it should render at a sensible 34 | size in both html and PDF forms. It should print OK too! 35 |
36 |
37 |
38 |
40 | Now try again with a sample SVG image: 41 |
42 |43 | 44 |
45 |48 | | 54 | |
![]() |
15 | Home | 16 |Libraries | 17 |People | 18 |FAQ | 19 |More | 20 |
41 | ƒ, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω, α, β, γ, δ, ε, ζ, η, θ, ι, κ, λ, μ, 42 | ν, ξ, ο, π, ρ, ς, σ, τ, υ, φ, χ, ψ, ω, ϑ, ϒ, ϖ, •, …, ′, ″, ‾, ⁄, ℘, ℑ, ℜ, ™, ℵ, ←, ↑, →, ↓, ↔, ↵, ⇐, ⇑, ⇒, ⇓, 43 | ⇔, ∀, ∂, ∃, ∅, ∇, ∈, ∉, ∋, ∏, ∑, −, ∗, √, ∝, ∞, ∠, ∧, ∨, ∩, ∪, ∫, ∴, ∼, ≅, ≈, ≠, ≡, ≤, ≥, ⊂, ⊃, ⊄, ⊆, ⊇, ⊕, ⊗, 44 | ⊥, ⋅, ⌈, ⌉, ⌊, ⌋, 〈, 〉, ◊, ♠, ♣, ♥, ♦ 45 |
46 |53 | , ¡, ¢, £, ¤, ¥, ¦, §, ¨, ©, ª, «, ¬, , ®, ¯, °, ±, ², ³, ´, µ, ¶, ·, ¸, ¹, º, », ¼, ½, ¾, ¿, À, Á, Â, Ã, Ä, 54 | Å, Æ, Ç, È, É, Ê, Ë, Ì, Í, Î, Ï, Ð, Ñ, Ò, Ó, Ô, Õ, Ö, ×, Ø, Ù, Ú, Û, Ü, Ý, Þ, ß, à, á, â, ã, ä, å, æ, ç, è, é, 55 | ê, ë, ì, í, î, ï, ð, ñ, ò, ó, ô, õ, ö, ÷, ø, ù, ú, û, ü, ý, þ, ÿ, 56 |
57 |61 | | 67 | |
22 |
23 | ![]() |
24 | 25 | Libraries 26 | | 27 |
Getting Started 33 | Tools 34 | Web Site 35 | News 36 | Community 37 | 38 | FAQ 39 | More Info | 40 |
See Getting Started page to find out 55 | how to download, build, and install the libraries.
56 | 57 |[Category suggestions from Aleksey Gurtovoy, Beman Dawes and Vicente J. Botet Escribá]
83 | 84 |Revised 101 | 19 Feb 2015
103 | 104 |© Copyright Beman Dawes 2000-2004
105 |Distributed under the Boost Software License, Version 1.0. 106 | (See file LICENSE_1_0.txt 107 | or www.boost.org/LICENSE_1_0.txt) 108 |
109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /libs/numeric/doc/build.jam: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016 Rene Rivera 2 | # 3 | # Distributed under the Boost Software License, Version 1.0. 4 | # (See accompanying file LICENSE_1_0.txt or copy at 5 | # http://www.boost.org/LICENSE_1_0.txt) 6 | 7 | ############################################################################### 8 | alias boostdoc ; 9 | explicit boostdoc ; 10 | alias boostrelease : ../conversion/doc//standalone ../odeint/doc//standalone ; 11 | explicit boostrelease ; 12 | -------------------------------------------------------------------------------- /libs/numeric/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boostorg/boost/cbafdfeb4ef0eed86fa667b94ae50894f61a6bd5/libs/numeric/index.html -------------------------------------------------------------------------------- /libs/numeric/sublibs: -------------------------------------------------------------------------------- 1 | The existance of this file tells the regression reporting programs that the directory contains sub-directories which are libraries. -------------------------------------------------------------------------------- /libs/platform_maintainers.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2005, 2007 Douglas Gregor\n"; 20 | print "Compile time for each successful regression test in seconds.\n"; 21 | print "
\n"; 22 | 23 | print "
Test | \n"; 25 | 26 | while(<>) { 27 | if(/^\*\*\* (.*) \*\*\*$/) { 28 | $filename = $1; 29 | $first = ($first == 0 ? 0 : $first-1); 30 | if($first == 0) { 31 | print "|||
$filename | \n"; 32 | } 33 | } elsif(/^\*\* (.*)/) { 34 | $compiler = $1; 35 | if($first) { 36 | print "$compiler | \n"; 37 | } else { 38 | $ct = 1; 39 | } 40 | } elsif($ct && /^CPU time: ([.0-9]*) s user, ([.0-9]*) s system/) { 41 | $time = $1 + $2; 42 | } elsif($ct && /^Pass$/) { 43 | printf "%.02f | \n", $time; 44 | $ct = 0; 45 | } elsif($ct && /^Fail$/) { 46 | print "- | \n"; 47 | $ct = 0; 48 | } 49 | } 50 | 51 | print "