========================================================================
* libs/callable_traits/README.md
========================================================================
# Boost.CallableTraits ![Travis status][badge.Travis]![Appveyor status][badge.Appveyor]
CallableTraits is a C++11 header-only library for the inspection, synthesis, and
decomposition of callable types.
The latest documentation is available [here](http://www.boost.org/doc/libs/develop/libs/callable_traits/doc/html/index.html).
CallableTraits was [formally reviewed](http://www.boost.org/community/reviews.html)
and [accepted](https://lists.boost.org/Archives/boost/2017/04/234513.php) into the
[Boost C++ Libraries](http://www.boost.org/). CallableTraits is available in Boost
1.66 (December 2017) and later. You can also download CallableTraits as a standalone
library [here](https://github.com/boostorg/callable_traits/releases/latest).
Licensed under the [Boost Software License, Version 1.0](LICENSE.md).
[badge.Appveyor]: https://ci.appveyor.com/api/projects/status/uf0l91v7l4wc4kw6/branch/master?svg=true
[badge.Travis]: https://travis-ci.org/boostorg/callable_traits.svg?branch=master
========================================================================
* libs/date_time/xmldoc/README
========================================================================
I couldn't get the date_time.xml to validate, however, it works anyway.
The build process with fail with adequate error messages to fix
any errors.
/********************************/
Do not place a dtd declaration in the doc xml files.
Begin each file with:
And in subsection/xml:
...
/********************************/
To crosslink use:
optional text
If you use 'top' the link will automatically
go to the top of the page it ends up in.
# Copyright (c) 2002-2006 CrystalClear Software, Inc.
# Use, modification and distribution is subject to the
# Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
========================================================================
* libs/geometry/doc/readme.txt
========================================================================
===========================================================================
Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2008-2011 Bruno Lalande, Paris, France.
Copyright (c) 2009-2011 Mateusz Loskot, London, UK
Use, modification and distribution is subject to the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
============================================================================
Procedure to create documentation using Doxygen, QuickBook and doxygen_xml2qbk
Note that doxygen_xml2qbk is a tool currently (slightly) specific to Boost.Geometry,
and that it translates from Doxygen-XML output to Quickbook (without xslt)
1) install Doxygen
2) install QuickBook using http://www.boost.org/doc/libs/release/doc/html/quickbook/install.html
3) run b2 in src/docutils/tools/doxygen_xml2qbk to build doxygen_xml2qbk executable
4) put binary in your PATH, e.g. in /usr/local/bin/doxygen_xml2qbk
5) execute python file "make_qbk.py" (calling doxygen, doxygen_xml2qbk, bjam)
Folders in this folder:
concept: manually written documentation QBK files, on concept
doxy: folders and files needed for doxygen input and output
html: contains generated HTML files
other: older documentation (subject to update or deletion)
ref: manually written documentation QBK files, included from .hpp files
reference: generated documentation QBK files (by doxygen_xml2qbk)
[note: this book cannot be called "generated" or something like that,
because it is used in the final URL and we want to have "reference" in it]
src: examples used in documentation and tools (doxygen_xml2qbk)
Per new algorithm (e.g. foo), one should add:
1) in file boost/geometry/algorithms/foo.hpp, include a "\ingroup foo" in the doxygen comments
2) in file doc/doxy/doxygen_input/groups/groups.hpp, define the group "foo"
3) in file doc/make_qbk.py, include the algorithm "foo"
4) in file doc/reference.qbk, include the foo.qbk ([include generated/foo.qbk])
5) in file doc/quickref.xml, include a section on foo conform other sections
6) in file doc/src/docutils/tools/support_status/support_status.cpp include the algorithm
(3 places) (optionally)
7) in file doc/reference/foo.qbk (to be created), include the support status and write other text,
and include examples (optionally)
8) in file doc/imports.qbk, include the example foo.cpp (if any)
9) create file doc/src/examples/algorithm/foo.cpp (optional)
========================================================================
* libs/histogram/README.md
========================================================================

**Fast multi-dimensional histogram with convenient interface for C++14**
Coded with â¤. Powered by the [Boost community](https://www.boost.org) and the [Scikit-HEP
Project](http://scikit-hep.org). Licensed under the [Boost Software License](http://www.boost.org/LICENSE_1_0.txt).
**Supported compiler versions** gcc >= 5.5, clang >= 3.8, msvc >= 14.1
**Supported C++ versions** 14, 17, 20
Branch | Linux, OSX, Windows | Coverage
------- | ---------------------- | --------
develop | 
| [](https://coveralls.io/github/boostorg/histogram?branch=develop)
master | 
| [](https://coveralls.io/github/boostorg/histogram?branch=master)
Boost.Histogram is a very fast state-of-the-art multi-dimensional generalised [histogram](https://en.wikipedia.org/wiki/Histogram) class for the beginner and expert alike.
* Header-only
* Easy to use, easy to customise
* Just count or use arbitrary accumulators in each cell to compute means, minimum, maximum, ...
* Supports multi-threading and restricted environments (no heap allocation, exceptions or RTTI)
* Has [Python bindings](https://github.com/scikit-hep/boost-histogram)
Check out the [full documentation](https://www.boost.org/doc/libs/develop/libs/histogram/doc/html/index.html).
ð¡ Boost.Histogram is a mature library with 100 % of code lines covered by unit tests,
benchmarked for performance, and has extensive documentation. If you still find some
issue or find the documentation lacking, tell us about it by [submitting an issue](https://github.com/boostorg/histogram/issues). Chat with us on the [Boost channel on Slack](https://cpplang.slack.com) and [Gitter](https://gitter.im/boostorg/histogram).
## Code examples
The following stripped-down example was taken from the [Getting started](https://www.boost.org/doc/libs/develop/libs/histogram/doc/html/histogram/getting_started.html) section in the documentation. Have a look into the docs to see the full version with comments and more examples.
Example: Make and fill a 1d-histogram ([try it live on Wandbox](https://wandbox.org/permlink/NSM2ZiDyntUi6RDC)). The core of this example [compiles into 53 lines of assembly code](https://godbolt.org/z/632yzE).
```cpp
#include
#include // used here for printing
#include
int main() {
using namespace boost::histogram;
// make 1d histogram with 4 regular bins from 0 to 2
auto h = make_histogram( axis::regular<>(4, 0.0, 2.0) );
// push some values into the histogram
for (auto&& value : { 0.4, 1.1, 0.3, 1.7, 10. })
h(value);
// iterate over bins
for (auto&& x : indexed(h)) {
std::cout << boost::format("bin %i [ %.1f, %.1f ): %i\n")
% x.index() % x.bin().lower() % x.bin().upper() % *x;
}
std::cout << std::flush;
/* program output:
bin 0 [ 0.0, 0.5 ): 2
bin 1 [ 0.5, 1.0 ): 0
bin 2 [ 1.0, 1.5 ): 1
bin 3 [ 1.5, 2.0 ): 1
*/
}
```
## Features
* Extremely customisable multi-dimensional histogram
* Simple, convenient, STL and Boost-compatible interface
* Counters with high dynamic range, cannot overflow or be capped [[1]](#note1)
* Better performance than other libraries (see benchmarks for details)
* Efficient use of memory [[1]](#note1)
* Hand-crafted C++17 deduction guides for axes and histogram types
* Support for custom axis types: define how input values should map to indices
* Support for under-/overflow bins (can be disabled individually to reduce memory consumption)
* Support for axes that grow automatically with input values [[2]](#note2)
* Support for weighted increments
* Support for profiles and more generally, user-defined accumulators in cells [[3]](#note3)
* Support for completely stack-based histograms
* Support for compilation without exceptions or RTTI [[4]](#note4)
* Support for adding, subtracting, multiplying, dividing, and scaling histograms
* Support for custom allocators
* Support for programming with units [[5]](#note5)
* Optional serialization based on [Boost.Serialization](https://www.boost.org/doc/libs/release/libs/serialization/)
Note 1 In the standard configuration, if you don't use weighted increments.
The counter capacity is increased dynamically as the cell counts grow. When even
the largest plain integral type would overflow, the storage switches to a multiprecision
integer similar to those in [Boost.Multiprecision](https://www.boost.org/doc/libs/release/libs/multiprecision/), which is only limited by available memory.
Note 2 An axis can be configured to grow when a value is encountered
that is outside of its range. It then grows new bins towards this value so that the
value ends up in the new highest or lowest bin.
Note 3 The histogram can be configured to hold an arbitrary accumulator
in each cell instead of a simple counter. Extra values can be passed to the histogram,
for example, to compute the mean and variance of values which fall into the same cell.
This feature can be used to calculate variance estimates for each cell, which are
useful when you need to fit a statistical model to the cell values.
Note 4 The library throws exceptions when exceptions are enabled.
When exceptions are disabled, a user-defined exception handler is called instead
upon a throw and the program terminates, see [boost::throw_exception](https://www.boost.org/doc/libs/master/libs/exception/doc/throw_exception.html) for details. Disabling exceptions improves performance by 10 % to 20 % in benchmarks. The library does not use RTTI (only CTTI) so disabling it has no effect.
Note 5 Builtin axis types can be configured to only accept dimensional quantities,
like those from [Boost.Units](https://www.boost.org/doc/libs/release/libs/units/).
This means you get a useful error if you accidentally try to fill a length where
the histogram axis expects a time, for example.
## Benchmarks
Boost.Histogram is more flexible and faster than other C/C++ libraries. It was compared to:
- [GNU Scientific Library](https://www.gnu.org/software/gsl)
- [ROOT framework from CERN](https://root.cern.ch)
Details on the benchmark are given in the [documentation](https://www.boost.org/doc/libs/develop/libs/histogram/doc/html/histogram/benchmarks.html).
## What users say
**John Buonagurio** | Manager at [**Exponent®**](https://www.exponent.com)
*"I just wanted to say 'thanks' for your awesome Histogram library. I'm working on
a software package for processing meteorology data and I'm using it to generate wind
roses with the help of Qt and QwtPolar. Looks like you thought of just about everything here –
the circular axis type was practically designed for this application, everything 'just worked'."*
========================================================================
* libs/leaf/README.md
========================================================================
Boost LEAF is a lightweight error handling library for C++11.
Official documentation: https://boostorg.github.io/leaf/
Features:
* Small single-header format, **no dependencies**.
* Designed for maximum efficiency ("happy" path and "sad" path).
* No dynamic memory allocations, even with heavy payloads.
* O(1) transport of arbitrary error types (independent of call stack depth).
* Can be used with or without exception handling.
* Support for multi-thread programming.
Support is available via:
* [cpplang on Slack](https://Cpplang.slack.com) (use the `#boost` channel)
* [Boost Users Mailing List](https://lists.boost.org/mailman/listinfo.cgi/boost-users)
* [Boost Developers Mailing List](https://lists.boost.org/mailman/listinfo.cgi/boost)
Copyright (c) 2018-2020 Emil Dotchevski and Reverge Studios, Inc.
Distributed under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt).
========================================================================
* libs/math/doc/overview/credits.qbk
========================================================================
[section:credits Credits and Acknowledgements]
[note This section should be read with the 'What's New' section that gives much detail
on changes for each release.]
Hubert Holin started the Boost.Math library. The
Quaternions, Octonions, inverse
hyperbolic functions, and the sinus cardinal functions are his.
Daryle Walker wrote the integer gcd and lcm functions.
John Maddock started the special functions, the beta, gamma, erf, polynomial,
and factorial functions are his, as is the "Toolkit" section, and many
of the statistical distributions.
Paul A. Bristow threw down the challenge in
[@http://www2.open-std.org/JTC1/SC22/WG21/docs/papers/2004/n1668.pdf
A Proposal to add Mathematical Functions for Statistics to the C++
Standard Library] to add the key math functions, especially those essential for
statistics. After JM accepted and solved the difficult problems,
not only numerically, but in full C++ template style, PAB
implemented a few of the statistical distributions. PAB also tirelessly
proof-read everything that JM threw at him (so that all
remaining editorial mistakes are his fault).
Xiaogang Zhang worked on the Bessel functions and elliptic integrals for his
Google Summer of Code project 2006.
Bruno Lalande submitted the "compile time power of a runtime base" code.
Johan R'''å'''de wrote the optimised floating-point classification
and manipulation code, and nonfinite facets to permit C99 output of infinities and NaNs.
(nonfinite facets were not added until Boost 1.47 but had been in use with Boost.Spirit).
This library was based on a suggestion from Robert Ramey, author of Boost.Serialization.
Paul A. Bristow expressed the need for better handling of
[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2022.pdf
Input & Output of NaN and infinity for the C++ Standard Library]
and suggested following the C99 format.
Antony Polukhin improved lexical cast avoiding stringstream so that
it was no longer necessary to use a globale C99 facet to handle nonfinites.
H'''å'''kan Ard'''ö''',
Boris Gubenko, John Maddock,
Markus Sch'''ö'''pflin
and Olivier Verdier tested the floating-point library and
Martin Bonner, Peter Dimov and John Maddock provided valuable advice.
Gautam Sewani coded the logistic distribution as part of a Google Summer of Code project 2008.
M. A. (Thijs) van den Berg coded the Laplace distribution.
(Thijs has also threatened to implement some multivariate distributions).
Thomas Mang requested the inverse gamma in chi squared distributions
for Bayesian applications and helped in their implementation,
and provided a nice example of their use.
Professor Nico Temme for advice on the inverse incomplete beta function.
[@http://www.shoup.net Victor Shoup for NTL],
without which it would have much more difficult to
produce high accuracy constants, and especially
the tables of accurate values for testing.
We are grateful to Joel Guzman for helping us stress-test his
[@http://www.boost.org/tools/quickbook/index.htm Boost.Quickbook]
program used to generate the html and pdf versions
of this document, adding several new features en route.
Plots of the functions and distributions were prepared in
[@http://www.w3.org/ W3C] standard
[@http://www.svg.org/ Scalable Vector Graphic (SVG)] format
using a program created by Jacob Voytko during a
[@http://code.google.com/soc/2007/ Google Summer of Code (2007)].
From 2012, the latest versions of all Internet Browsers have support
for rendering SVG (with varying quality). Older versions, especially
(Microsoft Internet Explorer (before IE 9) lack native SVG support
but can be made to work with
[@http://www.adobe.com/svg/viewer/install/ Adobe's free SVG viewer] plugin).
The SVG files can be converted to JPEG or PNG using
[@http://www.inkscape.org/ Inkscape].
We are also indebted to Matthias Schabel for managing the formal Boost-review
of this library, and to all the reviewers - including Guillaume Melquiond,
Arnaldur Gylfason, John Phillips, Stephan Tolksdorf and Jeff Garland
- for their many helpful comments.
Thanks to Mark Coleman and Georgi Boshnakov for spot test values
from __Mathematica, and of course,
to Eric Weisstein for nurturing __Mathworld, an invaluable resource.
The Skew-normal distribution and Owen's t function were written by Benjamin Sobotta.
We thank Thomas Mang for persuading us to allow t distributions
to have infinite degrees of freedom
and contributing to some long discussions about how to improve accuracy
for large non-centrality and/or large degrees of freedom.
Christopher Kormanyos wrote the e_float multiprecision library __TOMS910
which formed the basis for the Boost.Multiprecision library
which now can be used to allow most functions and distributions
to be computed up to a precision of the users' choice,
no longer restricted to built-in floating-point types like double.
(And thanks to Topher Cooper for bring Christopher's e_float to our attention).
Christopher Kormanyos wrote some examples for using __multiprecision,
and added methods for finding zeros of Bessel Functions.
Marco Guazzone provided the hyper-geometric distribution.
Rocco Romeo has found numerous small bugs and generally stress tested the
special functions code to near destruction!
Jeremy William Murphy added polynomial arithmetic tools.
Thomas Luu provided improvements to the quantile of the non-central chi squared distribution
quantile.
and his thesis
* [@http://discovery.ucl.ac.uk/1482128/ Fast and accurate parallel computation of
quantile functions for random number generation, 2016].
and his paper
Luu, Thomas; (2015), Efficient and Accurate Parallel Inversion of the Gamma Distribution,
SIAM Journal on Scientific Computing , 37 (1) C122 - C141,
[@https://doi.org/10.1137/14095875X].
These also promise to help improve algorithms for computation of quantile of several distributions,
especially for parallel computation using GPUs.
Nicolas Thompson added much code to handle quadrature and interpolation and more statistical tools.
Matthew Pulver provided the automatic differentiation section for inclusion in Boost.Math.
[endsect] [/section:credits Credits and Acknowledgements]
[/
Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2015, 2016 John Maddock and Paul A. Bristow.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
]
========================================================================
* libs/math/dot_net_example/boost_math/ReadMe.txt
========================================================================
========================================================================
DYNAMIC LINK LIBRARY : boost_math Project Overview
========================================================================
AppWizard has created this boost_math DLL for you.
// Copyright Paul A. Bristow & John Maddock 2009
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt
// or copy at http://www.boost.org/LICENSE_1_0.txt)
This file contains a summary of what you will find in each of the files that
make up your boost_math application.
boost_math.vcproj
This is the main project file for VC++ projects generated using an Application Wizard.
It contains information about the version of Visual C++ that generated the file, and
information about the platforms, configurations, and project features selected with the
Application Wizard.
boost_math.cpp
This is the main DLL source file.
boost_math.h
This file contains a class declaration.
AssemblyInfo.cpp
Contains custom attributes for modifying assembly metadata.
/////////////////////////////////////////////////////////////////////////////
Other notes:
AppWizard uses "TODO:" to indicate parts of the source code you
should add to or customize.
/////////////////////////////////////////////////////////////////////////////
========================================================================
* libs/math/dot_net_example/distribution_explorer/readme.txt
========================================================================
Statistical Distribution Explorer
Paul A. Bristow
John Maddock
Copyright ゥ 2008 , 2009, 2010, 2012 Paul A. Bristow, John Maddock
Distributed under the Boost Software License, Version 1.0. (See accompanying file
LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
A Windows utility to show the properties of statistical distributions using parameters
provided interactively by the user.
The 31 distributions provided (by version 1.0.1.52) are:
* bernoulli
* beta
* binomial
* cauchy
* chi_squared
* exponential
* extreme_value
* fisher_f
* gamma
* geometric
* hypergeometric
* inverse_chi_squared
* inverse_gamma
* inverse_gaussian
* laplace
* logistic
* lognormal
* negative_binomial
* non-central beta
* non-central_chi_squared
* non-central_F
* non-central_t
* normal (Gaussian)
* pareto
* poisson
* rayleigh
* students_t
* skew_normal
* triangular
* uniform
* weibull
Properties of distributions computed (where possible) are:
* mean
* mode
* median
* variance
* standard deviation
* coefficient of variation,
* skewness
* kurtosis
* excess
* range supported
Calculated, from values provided, are:
* probability density (or mass) function (PDF)
* cumulative distribution function (CDF), and complement
* Quantiles (percentiles) are calculated for typical risk (alpha) probabilities (0.001,
0.01, 0.5, 0.1, 0.333) and for additional probabilities that can be requested by the user.
Results can be saved to text files using Save or SaveAs. All the values on the four
tabs are output to the file chosen, and are tab separated to assist input to other programs,
for example, spreadsheets or text editors.
Note: Excel (for example), by default, only shows 10 decimal digits: to display the
maximum possible precision (about 15 decimal digits), it is necessary to format all
cells to display this precision. Although unusually accurate, not all values computed
by Statistical Distribution Explorer will be as accurate as 15 decimal digits. Values
shown as NaN cannot be calculated from the value(s) given, most commonly because
the value input is outside the range for the distribution.
For more information, including downloads, and this index.html file, see Distexplorer
at Sourceforge.
This Microsoft Windows 32 package was generated from a C# program and uses a boost_math.dll
generated using the Boost.Math C++ source code containing the underlying statistical
distribution classes and functions (C++ was compiled in CLI mode).
All source code is freely available for view and for use under the Boost Open Source License.
Math Toolkit C++ source code to produce boost_math.dll is in the most recent Boost release,
currently 1.52.0 (and the Boost version used to build the explorer is embedded in
its version number). You can download the current Boost library and find the source
to build the Distribution Explorer at /libs/math/dot_net_example/.
Installation
============
Statistical Distribution Explorer is distributed as a single Windows Installer package
setupdistex.msi. Unzip the distexplorer.zip file to a temporary location of your
choice and run setupdistex.msi.
(If the program installs OK, but does not run, it will be necessary to run setup.exe
to install Microsoft redistributables. This is because .NET Framework 4.0 Client
Profile and VC Redistributable X86 are requirements for this program. Most recent
and updated Windows environments will already have these installed, but they are quickly,
easily and safely installed from the Microsoft site if required. This program has
been tested on Windows 200 up to Windows 8).
(The package cannot be run on other platforms at present but it should be possible
to build an equivalent utility on any C/C++ platform if anyone would like to undertake this task.)
Last revised: 15 Oct 2012
========================================================================
* libs/math/reporting/accuracy/third_party/cephes_double/readme.txt
========================================================================
Place the source for the Cephes double precision library here if you want bjam to
build and test it when reporting accuracy results.
Copyright 2015 John Maddock and Paul A. Bristow.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
========================================================================
* libs/math/reporting/performance/third_party/dcdflib/readme.txt
========================================================================
Add the C source files for DCDFLIB here if you want them to be built and tested for
performance comparisons.
Copyright 2015 John Maddock and Paul A. Bristow.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
========================================================================
* libs/qvm/README.md
========================================================================
QVM: Generic C++ library for working with Quaternions, Vectors and Matrices
Official documentation: https://boostorg.github.io/qvm/
* Emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and
simulation applications.
* Free function templates operate on any compatible user-defined quaternion, vector or matrix type.
* Quaternion, vector and matrix types from different libraries or subsystems can
be safely mixed in the same expression.
* Type-safe mapping between compatible lvalue types with no temporary objects; e.g.
transpose remaps the elements, rather than transforming the matrix.
Copyright (c) 2018 Emil Dotchevski. Distributed under the [Boost Software License,
Version 1.0](http://www.boost.org/LICENSE_1_0.txt).
Please post questions and feedback on the Boost Developers Mailing List.
========================================================================
* libs/regex/readme.txt
========================================================================
Copyright (c) 1998-2003
John Maddock
* Use, modification and distribution are subject to the
* Boost Software License, Version 1.0. (See accompanying file
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
************************************************************************
Full instructions for use of this library can be accessed from
libs/regex/docs/index.html
Installation instructions and library overview is are in
libs/regex/docs/introduction.html
This library is part of boost (see www.boost.org), the latest version
of the library is available from the boost web site, or development
snapshots from the boost cvs repository at
http://sourceforge.net/project/?group_id=7586
========================================================================
* libs/sort/README.md
========================================================================
BOOST SORT
Introduction
The goal of the Boost Sort Library is provide to the users, the most modern and fast
sorting algorithms.
This library provides stable and not stable sorting algorithms, in single thread
and parallel versions.
These algorithms do not use any other library or utility. The parallel algorithms
need a C++11 compliant compiler.
Single Thread Algorithms
| | |
| |
Algorithm |Stable | Additional memory |Best, average, and worst
case | Comparison method |
------------------|-------|----------------------------|-------------------------------|---------------------|
spreadsort | no | key_length | N, N sqrt(LogN),
| Hybrid radix sort |
| | | min(N logN, N key_length)
| |
pdqsort | no | Log N | N, N LogN, N LogN
| Comparison operator |
spinsort | yes | N / 2 | N, N LogN, N LogN
| Comparison operator |
flat_stable_sort | yes |size of the data / 256 + 8K | N, N LogN, N LogN
| Comparison operator |
| | |
| |
- **spreadsort** is a novel hybrid radix sort algorithm, extremely fast, designed
and developed by Steven Ross.
- **pdqsort** is a improvement of the quick sort algorithm, designed and developed by Orson Peters.
- **spinsort** is a stable sort, fast with random and with near sorted data, designed
and developed by Francisco Tapia.
- **flat_stable_sort** stable sort with a small additional memory (around 1% of the
size of the data), provide the 80% - 90% of the speed of spinsort, being fast with
random and with near sorted data, designed and developed by Francisco Tapia.
Parallel Algorithms
| | | |
Algorithm |Stable | Additional memory |Best, average, and worst case |
----------------------|-------|------------------------|------------------------------|
block_indirect_sort | no |block_size * num_threads| N, N LogN , N LogN |
sample_sort | yes | N | N, N LogN , N LogN |
parallel_stable_sort | yes | N / 2 | N, N LogN , N LogN |
| | | |
- **Sample_sort** is a implementation of the [Samplesort algorithm](https://en.wikipedia.org/wiki/Samplesort) done by Francisco Tapia.
- **Parallel_stable_sort** is based on the samplesort algorithm, but using a half
of the memory used by sample_sort, conceived and implemented by Francisco Tapia.
- **Block_indirect_sort** is a novel parallel sort algorithm, very fast, with low
additional memory consumption, conceived and implemented by Francisco Tapia.
The **block_size** is an internal parameter of the algorithm, which in order to achieve the
highest speed, changes according to the size of the objects to sort according to the next table.
The strings use a block_size of 128.
| | | | |
| | |
object size (bytes) | 1 - 15 | 16 - 31 | 32 - 63 | 64 - 127|128 -
255|256 - 511| 512 - |
--------------------------------|--------|---------|---------|---------|---------|---------|----------|
block_size (number of elements) | 4096 | 2048 | 1024 | 768 | 512
| 256 | 128 |
| | | | |
| | |
Installation
- This library is **include only**.
- Don't need to link with any static or dynamic library. Only need a C++11 compiler
- Only need to include the file boost/sort/sort.hpp
Author and Copyright
This library is integrated in the [Boost Library](https://boost.org) .
Copyright 2017
- [Steven Ross *(spreadsort@gmail.com)* ](mail:spreadsort@gmail.com)
- [Francisco Tapia *(fjtapia@gmail.com)* ](mail:fjtapia@gmail.com)
- [Orson Peters *(orsonpeters@gmail.com)* ](mail:orsonpeters@gmail.com)
Distributed under the [Boost Software License, Version 1.0. ](http://www.boost.org/LICENSE_1_0.txt)
(See http://www.boost.org/LICENSE_1_0.txt)
========================================================================
* libs/type_traits/doc/credits.qbk
========================================================================
[/
Copyright 2007 John Maddock.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
]
[section:credits Credits]
This documentation was pulled together by John Maddock, using
[@../../../../doc/html/quickbook.html Boost.Quickbook]
and [@../../../../doc/html/boostbook.html Boost.DocBook].
The original version of this library was created by Steve Cleary,
Beman Dawes, Howard Hinnant, and John Maddock. John Maddock is the
current maintainer of the library.
This version of type traits library is based on contributions by
Adobe Systems Inc, David Abrahams, Steve Cleary,
Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus,
Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey, Jeremy Siek,
Antony Polukhin and Glen Fernandes.
Mat Marcus and Jesse Jones invented, and
[@http://opensource.adobe.com/project4/project.shtml published a paper describing],
the partial specialization workarounds used in this library.
Aleksey Gurtovoy added MPL integration to the library.
The __is_convertible template is based on code originally devised by
Andrei Alexandrescu, see
"[@http://www.cuj.com/experts/1810/alexandr.htm?topic=experts
Generic: Mappings between Types and Values]".
The latest version of this library and documentation can be found at
[@http://www.boost.org www.boost.org]. Bugs, suggestions and discussion
should be directed to boost@lists.boost.org
(see [@http://www.boost.org/more/mailing_lists.htm#main
www.boost.org/more/mailing_lists.htm#main] for subscription details).
[endsect]
========================================================================
* libs/uuid/README.md
========================================================================
Uuid, part of collection of the [Boost C++ Libraries](http://github.com/boostorg),
provides a C++ wrapper around [RFC-4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs.
### License
Distributed under the [Boost Software License, Version 1.0](https://www.boost.org/LICENSE_1_0.txt).
### Properties
* C++03
* Header-only
### Build Status
Branch | Travis | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests |
:-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- |
[`master`](https://github.com/boostorg/uuid/tree/master) | [](https://travis-ci.org/boostorg/uuid) | [](https://ci.appveyor.com/project/jeking3/uuid-gaamf/branch/master) | [](https://scan.coverity.com/projects/boostorg-uuid) | [](https://codecov.io/gh/boostorg/uuid/branch/master)| [](https://pdimov.github.io/boostdep-report/master/uuid.html) | [](http://www.boost.org/doc/libs/master/doc/html/uuid.html) | [](http://www.boost.org/development/tests/master/developer/uuid.html)
[`develop`](https://github.com/boostorg/uuid/tree/develop) | [](https://travis-ci.org/boostorg/uuid) | [](https://ci.appveyor.com/project/jeking3/uuid-gaamf/branch/develop) | [](https://scan.coverity.com/projects/boostorg-uuid) | [](https://codecov.io/gh/boostorg/uuid/branch/develop) | [](https://pdimov.github.io/boostdep-report/develop/uuid.html) | [](http://www.boost.org/doc/libs/develop/doc/html/uuid.html) | [](http://www.boost.org/development/tests/develop/developer/uuid.html)
### Directories
| Name | Purpose |
| ----------- | ------------------------------ |
| `doc` | documentation |
| `include` | headers |
| `test` | unit tests |
### More information
* [Ask questions](http://stackoverflow.com/questions/ask?tags=c%2B%2B,boost,boost-uuid)
* [Report bugs](https://github.com/boostorg/uuid/issues): Be sure to mention Boost version,
platform and compiler you're using. A small compilable code sample to reproduce
the problem is always good as well.
* Submit your patches as pull requests against **develop** branch. Note that by submitting
patches you agree to license your modifications under the [Boost Software License,
Version 1.0](https://www.boost.org/LICENSE_1_0.txt).
* Discussions about the library are held on the [Boost developers mailing list](http://www.boost.org/community/groups.html#main). Be sure to read the [discussion policy](http://www.boost.org/community/policy.html) before posting and add the `[uuid]` tag at the beginning of the subject line.
### Code Example - UUID Generation
// Copyright 2017 James E. King III
// Distributed under the Boost Software License, Version 1.0.
// (See https://www.boost.org/LICENSE_1_0.txt)
// mkuuid.cpp example
#include
#include
#include
#include
int main(void)
{
boost::uuids::random_generator gen;
std::cout << boost::lexical_cast(gen()) << std::endl;
return 0;
}
----
$ clang++ -ansi -Wall -Wextra -std=c++03 -O3 mkuuid.cpp -o mkuuid
$ ./mkuuid
2c186eb0-89cf-4a3c-9b97-86db1670d5f4
$ ./mkuuid
a9d3fbb9-0383-4389-a8a8-61f6629f90b6
========================================================================
* tools/build/notes/README.txt
========================================================================
Copyright 2005 Vladimir Prus
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
This directory contains various development notes. Some of them
may eventually find the way into documentation, so are purely
implementation comments.
========================================================================
* tools/build/src/build/readme.txt
========================================================================
Copyright 2001, 2002 Dave Abrahams
Copyright 2002 Vladimir Prus
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
Development code for new build system. To run unit tests for jam code, execute:
bjam --debug --build-system=test
Comprehensive tests require Python. See ../test/readme.txt
========================================================================
* LICENSE_1_0.txt, libs/assign/LICENSE, libs/beast/LICENSE_1_0.txt, libs/compute/LICENSE_1_0.txt,
libs/concept_check/LICENSE, libs/contract/LICENSE_1_0.txt, libs/date_time/LICENSE,
libs/dynamic_bitset/LICENSE, libs/format/LICENSE, libs/gil/LICENSE.txt, libs/histogram/LICENSE,
libs/iostreams/LICENSE, libs/json/LICENSE_1_0.txt, libs/logic/LICENSE, libs/move/LICENSE,
libs/mpl/LICENSE, libs/nowide/LICENSE, libs/nowide/doc/LICENSE_1_0.txt, libs/numeric/interval/LICENSE, libs/pfr/LICENSE_1_0.txt, libs/pool/LICENSE, libs/property_map/LICENSE, libs/ptr_container/LICENSE, libs/python/LICENSE_1_0.txt, libs/rational/LICENSE, libs/safe_numerics/LICENSE_1_0.txt, libs/signals2/LICENSE, libs/static_string/LICENSE_1_0.txt, libs/stl_interfaces/LICENSE_1_0.txt, libs/tokenizer/LICENSE, libs/uuid/LICENSE, libs/yap/LICENSE_1_0.txt, tools/build/LICENSE.txt, tools/docca/LICENSE_1_0.txt
========================================================================
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
========================================================================
* libs/callable_traits/LICENSE.md
========================================================================
Copyright 2015-2016 Barrett Adair
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
========================================================================
* libs/geometry/doc/copyright_note_policy.txt
========================================================================
===========================================================================
Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2008-2011 Bruno Lalande, Paris, France.
Copyright (c) 2009-2011 Mateusz Loskot, London, UK.
Use, modification and distribution is subject to the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
============================================================================
The default copyright note for C++ source files reads:
// Boost.Geometry (aka GGL, Generic Geometry Library)
// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands.
// Copyright (c) 2008-2011 Bruno Lalande, Paris, France.
// Copyright (c) 2009-2011 Mateusz Loskot, London, UK.
// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
// Use, modification and distribution is subject to the Boost Software License,
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
Exceptions:
1) Major work of any author -> might change order, change date
2) Exclusive work of one author including design -> might take sole copyright
Examples:
- adapted geometry types e.g. array, Boost.Polygon
- implemented file-format e.g. WKB
- implemented specific strategy or algorithm e.g. intersections
3) Examples -> might take sole copyright
4) Tests -> might take sole copyright
5) Docs -> might take sole copyright
6) Utilities e.g. converters -> might take sole copyright
The copyright note for other (source) files as .py, Jamfiles, etc is similar
and comments are changed accordingly.
========================================================================
* libs/geometry/doc/src/copyright_block.qbk
========================================================================
[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2008-2013 Bruno Lalande, Paris, France.
Copyright (c) 2009-2013 Mateusz Loskot, London, UK.
Use, modification and distribution is subject to the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
========================================================================
* libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/contrib/rapidxml-1.13/license.txt
========================================================================
Use of this software is granted under one of the following two licenses,
to be chosen freely by the user.
1. Boost Software License - Version 1.0 - August 17th, 2003
===============================================================================
Copyright (c) 2006, 2007 Marcin Kalicinski
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
2. The MIT License
===============================================================================
Copyright (c) 2006, 2007 Marcin Kalicinski
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
========================================================================
* libs/hana/LICENSE.md
========================================================================
Copyright Louis Dionne 2013-2017
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
========================================================================
* libs/hof/LICENSE.md, libs/hof/doc/html/_sources/LICENSE.md.txt
========================================================================
Copyright Paul Fultz II 2016-2018
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
========================================================================
* libs/hof/doc/html/_sources/doc/src/license.md.txt, libs/hof/doc/src/license.md
========================================================================
License
=======
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
========================================================================
* libs/leaf/LICENSE
========================================================================
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
========================================================================
* libs/math/doc/sf/license.qbk
========================================================================
[/
Copyright 2006 - 2010 John Maddock and Paul A. Bristow.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
]
========================================================================
* libs/outcome/doc/src/themes/boostdoc/LICENSE
========================================================================
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Parts of the navigation implementation were borrowed from the docdock theme,
and thus they are copyright as follows:
The MIT License (MIT)
Copyright (c) 2014 Grav
Copyright (c) 2016 MATHIEU CORNIC
Copyright (c) 2017 Valere JEANTET
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
========================================================================
* libs/system/doc/system/copyright.adoc
========================================================================
////
Copyright 2018 Peter Dimov
Distributed under the Boost Software License, Version 1.0.
See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt
////
[#copyright]
# Copyright and License
:idprefix:
This documentation is
* Copyright 2003-2017 Beman Dawes
* Copyright 2018 Peter Dimov
and is distributed under the http://www.boost.org/LICENSE_1_0.txt[Boost Software License,
Version 1.0].
========================================================================
* libs/variant2/doc/variant2/copyright.adoc
========================================================================
////
Copyright 2018, 2019 Peter Dimov
Distributed under the Boost Software License, Version 1.0.
See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt
////
[#copyright]
# Copyright and License
:idprefix:
This documentation is copyright 2018, 2019 Peter Dimov and is distributed under
the http://www.boost.org/LICENSE_1_0.txt[Boost Software License, Version 1.0].
========================================================================
* tools/bcp/licence_info.hpp
========================================================================
/*
*
* Copyright (c) 2003 Dr John Maddock
* Use, modification and distribution is subject to the
* Boost Software License, Version 1.0. (See accompanying file
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
*
*/
#include
#include
struct license_info
{
boost::regex license_signature;
boost::regex copyright_signature;
std::string copyright_formatter;
std::string license_name;
std::string license_text;
//
// we should really be able to initialize license_info as an
// aggregate, but some compilers reject this, so use a constructor
//instead:
//
license_info(const boost::regex& e1,
const boost::regex& e2,
const std::string& s1,
const std::string& s2,
const std::string& s3)
: license_signature(e1),
copyright_signature(e2),
copyright_formatter(s1),
license_name(s2),
license_text(s3){}
};
std::pair get_licenses();
std::string format_authors_name(const std::string& name);
========================================================================
* tools/boostbook/xsl/caramel/LICENSE
========================================================================
Software License, Version 1.0
Copyright 2002-2003, Trustees of Indiana University.
Copyright 2000-2001, University of Notre Dame.
All rights reserved.
Indiana University has the exclusive rights to license this product under the
following license.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* All redistributions of source code must retain the above copyright notice,
the list of authors in the original source code, this list of conditions
and the disclaimer listed in this license;
* All redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the disclaimer listed in this license
in the documentation and/or other materials provided with the distribution;
* Any documentation included with all redistributions must include the
following acknowledgement:
"This product includes software developed at the University of Notre Dame
and the Pervasive Technology Labs at Indiana University. For technical
information contact Andrew Lumsdaine at the Pervasive Technology Labs at
Indiana University. For administrative and license questions contact the
Advanced Research and Technology Institute at 351 West 10th Street.
Indianapolis, Indiana 46202, phone 317-278-4100, fax 317-274-5902."
Alternatively, this acknowledgement may appear in the software itself, and
wherever such third-party acknowledgments normally appear.
* The name Indiana University, the University of Notre Dame or "Caramel"
shall not be used to endorse or promote products derived from this software
without prior written permission from Indiana University. For written
permission, please contact Indiana University Advanced Research &
Technology Institute.
* Products derived from this software may not be called "Caramel", nor may
Indiana University, the University of Notre Dame or "Caramel" appear in
their name, without prior written permission of Indiana University Advanced
Research & Technology Institute.
Indiana University provides no reassurances that the source code provided does
not infringe the patent or any other intellectual property rights of any other
entity. Indiana University disclaims any liability to any recipient for claims
brought by any other entity based on infringement of intellectual property
rights or otherwise.
LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH NO WARRANTIES
AS TO CAPABILITIES OR ACCURACY ARE MADE. INDIANA UNIVERSITY GIVES NO WARRANTIES
AND MAKES NO REPRESENTATION THAT SOFTWARE IS FREE OF INFRINGEMENT OF THIRD
PARTY PATENT, COPYRIGHT, OR OTHER PROPRIETARY RIGHTS. INDIANA UNIVERSITY MAKES
NO WARRANTIES THAT SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES",
"TRAP DOORS", "WORMS", OR OTHER HARMFUL CODE. LICENSEE ASSUMES THE ENTIRE RISK
AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS, AND TO THE
PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING SOFTWARE.
========================================================================
* tools/inspect/copyright_check.hpp
========================================================================
// copyright_check header --------------------------------------------------//
// Copyright Beman Dawes 2002, 2003.
// Copyright Rene Rivera 2004.
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_COPYRIGHT_CHECK_HPP
#define BOOST_COPYRIGHT_CHECK_HPP
#include "inspector.hpp"
namespace boost
{
namespace inspect
{
class copyright_check : public source_inspector
{
long m_files_with_errors;
public:
copyright_check();
virtual const char * name() const { return "*C*"; }
virtual const char * desc() const { return "missing copyright notice"; }
virtual void inspect(
const std::string & library_name,
const path & full_path,
const std::string & contents );
virtual ~copyright_check()
{ std::cout << " " << m_files_with_errors << " files " << desc() << line_break(); }
};
}
}
#endif // BOOST_COPYRIGHT_CHECK_HPP
========================================================================
* tools/inspect/license_check.hpp
========================================================================
// license_check header ----------------------------------------------------//
// Copyright Beman Dawes 2002, 2003.
// Copyright Rene Rivera 2004.
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_LICENSE_CHECK_HPP
#define BOOST_LICENSE_CHECK_HPP
#include "inspector.hpp"
namespace boost
{
namespace inspect
{
class license_check : public source_inspector
{
long m_files_with_errors;
public:
license_check();
virtual const char * name() const { return "*Lic*"; }
virtual const char * desc() const { return "missing Boost license info, or
wrong reference text"; }
virtual void inspect(
const std::string & library_name,
const path & full_path,
const std::string & contents );
virtual ~license_check()
{ std::cout << " "
<< m_files_with_errors << " files missing Boost license info or having
wrong reference text" << line_break(); }
};
}
}
#endif // BOOST_LICENSE_CHECK_HPP