The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Type: Package
Title: Generating Universally Unique Identificators
Version: 1.2.0
Date: 2025-02-12
Description: Using the efficient implementation in the Boost C++ library, functions are provided to generate vectors of 'Universally Unique Identifiers (UUID)' from R supporting random (version 4), name (version 5) and time (version 7) 'UUIDs'. The initial repository was at https://gitlab.com/artemklevtsov/rcppuuid.
URL: https://github.com/eddelbuettel/rcppuuid
BugReports: https://github.com/eddelbuettel/rcppuuid/issues
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
Depends: R (≥ 3.1.0)
Imports: Rcpp
Suggests: tinytest, uuid, microbenchmark
LinkingTo: Rcpp, BH (≥ 1.87.0-1)
Encoding: UTF-8
NeedsCompilation: yes
RoxygenNote: 7.3.2
Packaged: 2025-02-12 13:49:05 UTC; edd
Author: Artem Klevtsov ORCID iD [aut], Dirk Eddelbuettel ORCID iD [aut, cre]
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Repository: CRAN
Date/Publication: 2025-02-12 14:30:02 UTC

Generating Universally Unique Identificators

Description

Provides functions to generating a vector of Universally Unique Identifiers (UUID) using the implementation from the Boost C++ library. Supports random (version 4), name (version 5) and time-based (version 7) UUIDs. UUIDs generation is parallelized by OpenMP.

Author(s)

Maintainer: Dirk Eddelbuettel edd@debian.org (ORCID)

Authors:

See Also

Useful links:


Generate UUIDs Version 5

Description

Function generates name-based uuid is derived from content in a namespace. A uuid with identical content shall yield the same uuid. Hashing algorithm is SHA1.

Usage

uuid_generate_name(x, ns = "x500dn")

Arguments

x

Character vector.

ns

Namespace string. Allowed values: dns, url, oid, x500dn.

Value

Character vector with UUIDs.

Note

This function generates valid uuids for the NA and empty strings.

References

https://www.boost.org/doc/libs/1_72_0/libs/uuid/doc/uuid.html#Name%20Generator

Examples

# generate name UUIDs
uuid_generate_name(c("one", "two"))


Generates Nil UUIDs

Description

Function generates nil uuids.

Usage

uuid_generate_nil(n = 1L)

Arguments

n

Number of generated UUIDs.

Value

Character vector with UUIDs.

References

https://www.boost.org/doc/libs/1_72_0/libs/uuid/doc/uuid.html#Nil%20Generator

Examples

# generate nil UUIDs
uuid_generate_nil(2)


Generate UUIDs Version 4

Description

Function generates uuids using operating system provided entropy.

Usage

uuid_generate_random(n = 1L)

Arguments

n

Number of generated UUIDs.

Value

Character vector with UUIDs.

References

https://www.boost.org/doc/libs/1_72_0/libs/uuid/doc/uuid.html#Random%20Generator

Examples

# generate random UUIDs
uuid_generate_random(2)


Generate UUIDs Version 7

Description

This function generates time-based uuids using operating system provided entropy. Note that this requires Boost 1.86 or later.

Usage

uuid_generate_time(n = 1L)

Arguments

n

Number of generated UUIDs.

Value

Character vector with UUIDs generated under specification v7.

References

https://www.boost.org/doc/libs/release/libs/uuid/

Examples

# generate random UUIDs
uuid_generate_time(2)


Validate UUIDs

Description

Function validates uuids.

Usage

uuid_validate(x)

Arguments

x

Character vector.

Value

Logical vector.

Examples

# validate UUIDs
uuid_validate(uuid_generate_random(2))
uuid_validate(uuid_generate_nil(2))
uuid_validate(uuid_generate_name(c("one", "two")))
uuid_validate(c("a", ""))

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.