arcstk::v_1_0_0::ARTriplet class final

A triplet of values describing a particular track in an AccurateRip response.

Syntactically, an ARTriplet is an element of some ARBlock.

Semantically, an ARTriplet carries information about a single track in an AccurateRip response, while the ARBlock describes the entire disc. A triplet contains the ARCS of the track as its first element, a non-negative integer that represents the confidence value of the ARCS and, as a third element, the ARCS of frame 450 of the track. (The latter represents a reference value for the pressing offset.)

Which track the ARTriplet describes can be derived from its actual position in the ARBlock. The first ARTriplet in the ARBlock describes track 1, the second ARTriplet track 2 and so forth.

An ARTriplet carries no information whether its ARCS are ARCSv1 or ARCSv2. It contains only parsed data and metadata flags indicating whether the content is valid, i.e. was correctly parsed.

An ARTriplet represents parsed information. If some error occurrs during the parsing process, the resulting ARTriplet may contain incomplete information. Therefore, the ARTriplet carries a validity flag for each of its values to indicate whether the corresponding value was parsed without errors.

Constructors, destructors, conversion operators

ARTriplet()
Constructor.
ARTriplet(ARTriplet&& rhs) noexcept
Move constructor.
ARTriplet(const ARTriplet& rhs)
Copy constructor.
ARTriplet(const Checksum arcs, const uint32_t confidence, const Checksum frame450_arcs)
Constructor that sets all validity flags to TRUE.
ARTriplet(const Checksum arcs, const uint32_t confidence, const Checksum frame450_arcs, const bool arcs_valid, const bool confidence_valid, const bool frame450_arcs_valid)
Constructor.
~ARTriplet() noexcept
Default destructor.

Public functions

auto arcs() const -> Checksum noexcept
The track ARCS in this triplet.
auto arcs_valid() const -> bool noexcept
Validity flag for the track ARCS in this triplet.
auto confidence() const -> uint32_t noexcept
The confidence value in this triplet.
auto confidence_valid() const -> bool noexcept
Validity flag for the confidence value in this triplet.
auto empty() const -> bool noexcept
Indicates whether parsed content is present.
auto frame450_arcs() const -> Checksum noexcept
The ARCS of frame 450 of the particular track in this triplet.
auto frame450_arcs_valid() const -> bool noexcept
Validity flag for the ARCS of frame 450 of the particular track in this triplet.

Function documentation

arcstk::v_1_0_0::ARTriplet::ARTriplet()

Constructor.

All validity flags are set to FALSE.

arcstk::v_1_0_0::ARTriplet::ARTriplet(ARTriplet&& rhs) noexcept

Move constructor.

Parameters
rhs in Instance to move

arcstk::v_1_0_0::ARTriplet::ARTriplet(const ARTriplet& rhs)

Copy constructor.

Parameters
rhs in Instance to copy

arcstk::v_1_0_0::ARTriplet::ARTriplet(const Checksum arcs, const uint32_t confidence, const Checksum frame450_arcs)

Constructor that sets all validity flags to TRUE.

Parameters
arcs in The ARCS value of this triplet
confidence in The confidence value of this triplet
frame450_arcs in The ARCS for frame 450 of this triplet

All validity flags are set to TRUE.

arcstk::v_1_0_0::ARTriplet::ARTriplet(const Checksum arcs, const uint32_t confidence, const Checksum frame450_arcs, const bool arcs_valid, const bool confidence_valid, const bool frame450_arcs_valid)

Constructor.

Parameters
arcs in The ARCS value of this triplet
confidence in The confidence value of this triplet
frame450_arcs in The ARCS for frame 450 of this triplet
arcs_valid in Validity of ARCS of this triplet
confidence_valid in Validity of confidence of this triplet
frame450_arcs_valid in Validity of frame 450 ARCS of this triplet

Checksum arcstk::v_1_0_0::ARTriplet::arcs() const noexcept

The track ARCS in this triplet.

Returns ARCS value in this triplet

bool arcstk::v_1_0_0::ARTriplet::arcs_valid() const noexcept

Validity flag for the track ARCS in this triplet.

Returns Validity flag for the ARCS value in this triplet

uint32_t arcstk::v_1_0_0::ARTriplet::confidence() const noexcept

The confidence value in this triplet.

Returns Confidence in this triplet

bool arcstk::v_1_0_0::ARTriplet::confidence_valid() const noexcept

Validity flag for the confidence value in this triplet.

Returns Validity flag for the confidence in this triplet

bool arcstk::v_1_0_0::ARTriplet::empty() const noexcept

Indicates whether parsed content is present.

Returns TRUE iff the ARTriplet holds not parsed content, otherwise FALSE

Checksum arcstk::v_1_0_0::ARTriplet::frame450_arcs() const noexcept

The ARCS of frame 450 of the particular track in this triplet.

Returns Frame450 ARCS in this triplet

bool arcstk::v_1_0_0::ARTriplet::frame450_arcs_valid() const noexcept

Validity flag for the ARCS of frame 450 of the particular track in this triplet.

Returns Validity flag for the frame450 ARCS value in this triplet