2
0
mirror of https://github.com/boostorg/uuid.git synced 2026-01-19 16:52:14 +00:00
Commit Graph

54 Commits

Author SHA1 Message Date
Peter Dimov
f93d337194 Update random_generator.adoc 2024-10-23 03:24:06 +03:00
Peter Dimov
e7fcbc1982 Update revision history 2024-10-04 18:27:25 +03:00
Peter Dimov
2ca4d0a1f5 Update copyright.adoc 2024-06-10 19:56:07 +03:00
Peter Dimov
4eecdc1b31 Remove 'POD Efficiencies' example as it's no longer relevant 2024-06-10 19:34:30 +03:00
Peter Dimov
9915af1f1e Update documentation about uuid alignment 2024-06-10 19:32:36 +03:00
Peter Dimov
f3100d7d80 Update documentation 2024-05-17 04:59:29 +03:00
Peter Dimov
414c7f9fea Update revision history 2024-05-17 04:07:14 +03:00
Peter Dimov
e4ad85c72f Update Configuration section 2024-05-11 17:54:14 +03:00
Peter Dimov
7b53a88fe3 Update revision history 2024-05-11 17:47:45 +03:00
Peter Dimov
6ce551e49b rfc4122bis is officially RFC 9562 now 2024-05-11 17:30:03 +03:00
Peter Dimov
ac5b30b936 Document timestamp_v7 and time_point_v7 2024-05-11 17:14:24 +03:00
Peter Dimov
9f1dcb324c Update documentation 2024-05-05 22:42:47 +03:00
Peter Dimov
bb726b58dd Update revision history 2024-05-04 22:03:51 +03:00
Peter Dimov
436a85cd88 Accept Ch[36] in to_chars because these uses did compile 2024-05-04 19:38:42 +03:00
Peter Dimov
4b0620e3b7 Update documentation 2024-05-04 19:30:49 +03:00
Peter Dimov
84147138b4 Mark time_generator_v7::operator= as noexcept 2024-05-04 18:39:51 +03:00
Peter Dimov
83a40ec376 Update documentation 2024-05-04 18:34:39 +03:00
Peter Dimov
bf5f690103 Update documentation 2024-05-04 14:30:02 +03:00
Peter Dimov
44cd94ef93 Update documentation 2024-05-04 05:04:22 +03:00
Peter Dimov
b20a0ba4d2 Update documentation 2024-05-03 22:11:30 +03:00
Peter Dimov
c915af978a Consistently replace typedef with using in documentation 2024-05-03 20:18:25 +03:00
Peter Dimov
0d6d5035ce v7 microsecond timestamp can exceed 999 when the system clock resolution is too coarse (e.g. MinGW) 2024-05-03 19:10:26 +03:00
Peter Dimov
f2ead6d863 Update documentation 2024-05-01 20:58:00 +03:00
Peter Dimov
835a65821e Update documentation 2024-05-01 17:14:05 +03:00
Peter Dimov
76771675bb Update documentation 2024-05-01 02:44:40 +03:00
Peter Dimov
9d564b0b67 Update revision history 2024-05-01 01:28:19 +03:00
Peter Dimov
abf561bdba Update revision history 2024-04-30 23:49:57 +03:00
Peter Dimov
e60f5c645c Update documentation 2024-04-30 21:46:20 +03:00
Peter Dimov
731afe80bc Update documentation 2024-04-30 20:58:03 +03:00
Peter Dimov
8977234a73 Update documentation 2024-04-29 22:30:48 +03:00
Peter Dimov
7e6aaed34b Update documentation 2024-04-29 22:18:42 +03:00
Peter Dimov
6ddc957a7b Update documentation 2024-04-29 22:08:23 +03:00
Peter Dimov
dbe01e3b8a Update documentation 2024-04-29 20:52:37 +03:00
Peter Dimov
f08cac854e Update documentation 2024-04-29 18:59:17 +03:00
Peter Dimov
a305f7d76d Update documentation 2024-04-29 09:21:42 +03:00
Peter Dimov
63c3a8405a Add revision history sections to documentation 2024-04-27 19:59:48 +03:00
Peter Dimov
73c575636a Fix table in concepts.adoc 2024-04-26 16:46:56 +03:00
Andrey Semashev
f00dd99cc8 Documented BOOST_UUID_USE_AVX and BOOST_UUID_USE_AVX10_1. 2024-04-25 10:37:13 +03:00
Peter Dimov
99d73bfa96 Update Reference headings 2024-04-24 20:45:44 +03:00
Peter Dimov
a6a0a417e6 Update Acknowledgments and Copyright 2024-04-24 20:35:03 +03:00
Peter Dimov
bd5ebe6fff Add doc/.gitignore 2024-04-24 20:27:35 +03:00
Christian Mazakas
b217e8dd04 transliterate docs to adoc 2024-04-24 09:21:43 -07:00
Volo Zyko
94381580f9 Add BOOST_UUID_RANDOM_PROVIDER_GETRANDOM_DISABLE_LIBC_WRAPPER macro 2022-06-07 08:10:57 -04:00
Gudmundur Adalsteinsson
eaa4be7b96 Add to_chars for writing uuid strings without allocating 2021-06-15 12:47:35 -04:00
tinko92
24e3e0db36 Fix for typo (LICENCE) and for https links to license (#103)
* Fix Typo in link to License.
* Changed links to https.
2019-04-22 08:56:05 -04:00
Andrey Semashev
405f961431 Add support for Linux-specific getrandom call to obtain random data.
getrandom is the base implementation for getentropy on Linux. It is also
available in the form of a syscall, which can be called directly on systems with
glibc versions older than 2.25 which don't yet provide wrappers for getrandom or
getentropy but have a recent enough Linux kernel (for example, Debian Stretch).

On systems other than Linux (e.g. Solaris) getentropy is documented as a
source for initialization of a user-space PRNG instead of a direct source
for random data. Since we use the random data directly to initialize UUIDs,
using getrandom on other platforms, where available, would be more preferable
than getentropy. Unfortunately, the only other platform that is known to support
both getentropy and getrandom (Solaris) documents getrandom to return 0
on error, which is a valid return value on Linux. It's not clear if this is
a documentation error or a true incompatibility, and I have no way to test,
so do not use getrandom on Solaris for now. For this reason (and in case
if it is also used on some other platforms) getentropy backend is still
preserved.

For running tests in the CI on the getentropy backend added the
BOOST_UUID_RANDOM_PROVIDER_DISABLE_GETRANDOM macro, which will disable getrandom
if one is detected. Currently, the macro is only used for tests on Linux.
2018-06-18 10:27:40 -04:00
Daniel James
69432bbc64 Fix relative links in documentation 2018-01-11 17:27:33 +00:00
James E. King III
a8a1ec3d82 Changed the default random_generator implementation to use
operating-system provided entropy as it is more secure and
faster for the typical use case of generating one uuid at
a time.

This is a breaking change for anyone passing a mt19937
into one of the explicit constructors of random_generator,
which would be quite rare.

Changed the default random provider on Windows to use BCrypt
where available, falling back to Wincrypt when necessary or
when explicitly requested through a macro.

Provide a new random_generator_mt19937 type definition for
use cases where a large number of uuids need to be created
with high performance.  This is equivalent to the previous
definition of random_generator.

Provide a random generation benchmark test showing the
cutoff where the mt19937-based generator will outperform the
standard generator based on wall time.

Removed template specialization for boost::random::random_device
so that any UniformRandomNumberGenerator can be used properly
with random_generator.

Replaced the seed_rng detail implementation (which had a number
of flaws) with a replacement header-only random_provider
implementation.

Note: entropy generation errors will cause an entropy_error
to be thrown from random_generator.  The previous implementation
ignored errors and silently failed.

Added internal support for entropy generation on cloudabi
platform leveraging the new random_provider implementation.

Added internal support for Universal Windows Platform (UWP)
development leveraging the new random_provider implementation.

Added internal support for getentropy() on Linux and OpenBSD
if certain requirements are met.

This fixes #24
This closes #53
2017-12-18 09:56:02 -05:00
James E. King, III
8a81273ebf revert change to string_generator so it continues to
throw std::runtime_error like it always had before
therefore removing a breaking change before release

remove one unnecessary code branch in string_generator
2017-11-10 20:04:37 -05:00
James E. King, III
5a48cab9af provide a name_generator_latest that always uses the latest hashing
algorithm for applications that do not need stable hashing over time

This fixes #50
2017-11-04 19:50:09 -04:00